Diversium.info Programmierung, Anime & Manga, Sammelsurium Thu, 23 Feb 2012 13:15:00 +0100 Zend_Feed_Writer 1.10.0 (http://framework.zend.com) http://www.diversium.info master@diversium.info (Annika) Annika Manga - Eine Einführung Wed, 15 Sep 2010 21:52:48 +0200 http://www.diversium.info/artikel/manga_einfuehrung http://www.diversium.info/artikel/manga_einfuehrung Annika Annika In Japan werden Comics aller Art als “Manga” bezeichnet. Während in Deutschland mit dem ausschließlich Comics aus Japan gemeint sind, ist in Japan selbst die Herkunft des Comics völlig egal.

Ursprünglich schreibt sich das Wort mit zwei Kanjis, die für komisch Verzerrtes (man) und gemalte, gezeichnete oder gedruckte Bilder (ga) stehen.
Heute werden zunehmend Kana verwendet um die Lesung wiederzugeben, da die Kanji zu stark mit dem komisch Verzerrten zusammenhängen und der breiten Auswahl an Themen deshalb nicht gerecht werden.
Es existieren inzwischen für beinahe jede Zielgruppe thematische, meist fließend ineinander übergehende, Untergruppen, die z.B. nach Alter, sexueller Orientierung, Geschlecht, Hobbies oder Fachgebieten unterschieden werden

lexicon('kanji'); ?> lexicon('kana'); ?>

In Japan erscheinen Manga zunächst kapitelweise in meist wöchtenlich oder monatlich erscheinenden telefonbuchdicken Magazinen, die auf Zeitungspapier in schwarz/weiß gedruckt werden. Aufgrund der niedrigen Produktionskosten können diese Mangazine günstig verkauft werden und gelten als Wegwerfartikel.
Die Kapitel erfolgreicher Serien werden in Bänden zusammengefasst in sehr guter Druckqualität neu aufgelegt. Diese als Tankoubon bezeichneten Sammelbände erscheinen jeweils im Abstand von mehreren Monaten und sind zum Sammeln und Aufbewahren gedacht–diese Taschenbücher sind es, die wir in Deutschland kennen.

]]>
0
Geri, Freki Wed, 15 Sep 2010 13:16:00 +0200 http://www.diversium.info/artikel/mongolische_rennmaus_geri_freki http://www.diversium.info/artikel/mongolische_rennmaus_geri_freki Annika Annika Auf der Suche nach neuen Beschäftigungsmöglichkeiten für Urd, Verdandi und Skuld stolperte ich zufällig über eine Anzeige, bei der zwei Mäuse abzugeben wären. Die beiden wurden übergangsweise aufgenommen, um ein neues Zuhause für sie zu finden und sollten nun möglichst gemeinsam vermittelt werden. Ich konnte nicht anders – die zwei sollten bei mir einziehen!
Nach einigem hin- und herüberlegen war geplant, die beiden mit meinen drei Damen zu vergesellschaften und sie gemeinsam in eine größere Behausung umziehen zu lassen.
Nach einiger Zeit zeigte sich, dass die anfangs so gut funktionierende Gruppe nicht auf Dauer stabil bleibt und wir mussten einsehen, dass es besser ist, die beiden jüngeren Mäuse aus dem Verbund wieder herauszutrennen. Nun leben die beiden Not-Mäuse, die im April 2010 einzogen, als zufriedene Zweier-Gruppe bei uns.

Freki

figure('6bcf6ecdb354092ca405b8ac0b0ed1698266d408'); ?>

Geburtstag Dezember 2009

Farbe Polarfuchs-Schecke

Eingezogen am/im April 2010

Freki ist definitiv mein Prinzesschen. Sie wirkt immer so friedlich, zart und hilflos, dass man ständig das Gefühl hat, man müsse sie beschützen!
Tatsächlich ließ sie sich von Urd zum Schluss ständig aus dem Nest vertreiben und wurde von Geri verjagdt, ohne sich auch nur im geringsten zu wehren. Freki scheint es völlig zu überfordern, mit mehr als einer Maus zu tun zu haben. Sie ordnet sich nicht einfach nur unter sondern geht allen aus dem Weg, lässt sich von überall verscheuchen und sitzt ängstlich in der Gegend herum.
Aber seit sie wieder mit Geri alleine ist, ist sie wie ausgewechselt. Sie lässt sich nicht mehr herumschubsen, klettert auf Geri herum, wenn sie ihr über den Weg läuft, nutzt die komplette Fläche zum Herumrennen und nagt alles an.

Geri

figure('01f00477af8893bf29512caf4ad6901df297c1f9'); ?>

Geburtstag Dezember 2009

Farbe Platin

Eingezogen am/im April 2010

Dieser Dame fehlt etwa die Hälfte ihres Schwanzes, den sie bei einem Kampf mit ihrer Schwester verloren hat. Die verletzte und damals unterernährte Maus wollten die ehemaligen Besitzer zum Glück nicht mehr haben und gaben sie weg.
Ich muss ehrlich gestehen, dass ich sie eigentlich gar nicht haben wollte – schließlich hatte ich schon eine Platin-Maus. Wenn ich heute daran denke, bin ich froh, dass ich sie trotzdem mitgenommen habe!
Geri ist ein Goldstück! Sie ist kein Stück zutraulich, geht der sich bewegenden Hand grundsätzlich aus dem Weg – aber dafür freue ich mich auch immer um so mehr, wenn sie ihr Misstrauen vergessen kann und meine Hand beschnuppern kommt. Sie wird wahrscheinlich nie zutraulicher, aber das muss sie auch gar nicht. Geri bereitet mir mit ihrem aktiven und verspielten Wesen viel Freude.

]]>
0
Skuld, Urd, Verdandi Tue, 14 Sep 2010 19:42:30 +0200 http://www.diversium.info/artikel/mongolische_rennmaus_skuld_urd_verdandi http://www.diversium.info/artikel/mongolische_rennmaus_skuld_urd_verdandi Annika Annika Eigentlich war ich auf der Suche nach einem Zwerghamster für mich und durchkämmte zu diesen Zweck diverse Kleinanzeigen. Dabei stieß ich einer zufällig auf die Anzeige einer Frau, die gerade junge Rennmäuse abzugeben hatte.
Ich hatte mich auch schon zuvor oberflächlich über Mongolische Rennmäuse informiert – mir gefiel die Gruppenhaltung, aber die Streitigkeiten, die vorkommen können, schreckten mich ab und ich hatte mich deswegen gegen die Renner entschieden.
Das war, bevor ich auf diese Anzeige gestoßen bin; plötzlich hatte ich die Möglichkeit, selbst welche zu halten und meine Entscheidung löste sich in Luft auf. Ein paar Tage später saß ich im Wohnzimmer dieser Frau und hatte drei Mäuse auf mir herumklettern. Spätestens da war es um mich geschehen!
Man erklärte mir, ich könnte gerne drei Mädchen mitnehmen, aber am liebsten sollte es eine Mutter und ihre zwei Töchter sein. Drei schwarze Mäuse! Ich nahm die Mutter, aber ihre zwei Ebenbilder ließ ich zurück. Stattdessen zogen eine ihrer Platin-farbenen Töchter und ein Agouti-Mädchen im November 2008 bei mir ein!

Urd

figure('4484ddbceb415a5a418a16005b2ffd8fff098bd3'); ?>

Geburtstag April 2008

Farbe Schwarz

Eingezogen am/im November 2008

Die flinke schwarze Urd ist die älteste der Bande und Verdandis Mutter. Als sie zu mir kam, war sie trotz ihrer schlanken Figur die größte (die anderen beiden waren ja auch noch sehr jung). Allerdings ist das schon lange vorbei, inzwischen ist sie die zierlichste.
Anfangs war Urd sehr scheu und erschrak über jedes Geräusch, aber das hat sich völlig gelegt. Sie ist nach wie vor nicht gerne auf der Hand, aber in ihrer vertrauten Umgebung kennt sie keine scheu mehr! Sie lässt mich manchmal sogar ihre Nase streicheln, während sie ihre Leckerchen direkt an Ort und Stelle verputzt und wenn sie einen guten Tag hat, klettert sie an meinem Arm an mir hoch
Urd ist trotz ihres Alters die sportlichste Maus der Gruppe, was man daran merkt, dass sie am häufigsten das Laufrad für sich beansprucht und sich am sichersten über “Stock und Stein” bewegt.

Skuld

figure('c20ad1c0f6f7d509e28998ddb8c2cd452c147313'); ?>

Geburtstag Oktober 2008

Farbe Agouti

Eingezogen am/im November 2008

Als ich Skuld bekam, war sie erst einen Monat alt und entsprechend klein – inzwischen ist sie nicht nur ausgewachsen, sondern auch deutlich schwerer; eindeutig zu schwer!
Mein Dickerchen ist eindeutig die Anführerin und mimt sie für die anderen beiden immer den Wachhund. Dafür klettert sie auf die höchste Stelle im Käfig (obwohl sie nicht unbedingt die geschickteste Kletterin ist), hockt sich dort hin und beobachtet alles ganz genau, was um sie herum geschieht.
Skuld ist extrem geduldig; was auch immer man mit ihr macht, sie erträgt es mit stoischer Ruhe und noch nie hat sie jemanden gebissen.

Verdandi

figure('077ebf59784d8461015abc52575648a0e79f7850'); ?>

Geburtstag September 2008

Farbe Platin

Eingezogen am/im November 2008

“Dandi” ähnelt ihrer Mutter überhaupt nicht! Mal abgesehen davon, dass beide mit dem Einsatz ihrer Zähne nicht zimperlich sind, haben sie keine Gemeinsamkeiten.
Verdandi ist eine total verpennte Maus, die die meiste Zeit ihres Tages damit verbringt zu schlafen und dabei lässt sie sich auch durch nichts stören. Wenn sie aus ihrem Nest gekrabbelt kommt, dann mit fast geschlossenen Augen, die sie auch dann nicht öffnet, wenn sie frisst. Wenn sie nicht grad schläft oder frisst, dann widmet sie sich mit großem Eifer der Zerstörung von irgendetwas; Dandi zernagt einfach alles, was ihr zwischen die Zähne gerät!
Die Maus hat ein sehr ruhiges Gemüt und greift auch andere Mäuse nur an, wenn sie selbst angegriffen wurde. Meistens ist es Verdandi, die bei Streitigkeiten etwas auf die Nase bekommt.

]]>
0
Sessionverwaltung
Etwas mehr Sicherheit bietet seit PHP4 die Verwaltung von Sessions (Sitzungen).]]>
Sat, 28 Aug 2010 00:17:04 +0200 http://www.diversium.info/artikel/programmierung_php_sessionverwaltung http://www.diversium.info/artikel/programmierung_php_sessionverwaltung Annika Annika In der Voreinstellung wird beim Start einer Session eine eindeutige ID erzeugt, die in einem temporären Cookie beim Anwender abgelegt wird. Üblicherweise wird diese Session-ID als Name einer Datei verwendet, in der die Daten der Session gespeichert werden.

# startet eine Session oder nimmt eine bereits vorhandene Session wieder auf
session_start();

# gibt die ID der aktuellen Session zurück
session_id();

Eine Session muss gestartet werden, bevor Text-, oder HTML-Ausgaben gemacht werden.
Eine Session wird beendet, sobald der Anwender den Browser schließt. Soll sie aber schon vorher, z.B. weil der Benutzer das ausdrücklich wünscht, zerstört werden, so kann man dafür session_destroy() anwenden.
Um Daten einer Session zu speichern und sie über einen längeren Zeitraum verwendbar zu machen, existiert das globale assoziative Array $_SESSION.
Sinnvoll oder nicht, nachfolgend wird exemplarisch die Session-Id gespeichert.

# Eine Session wird gestartet
session_start();

# Die ID der Session wird gespeichert
$_SESSION['SID'] = session_id();

# Gibt die gespeicherte Session-ID aus
echo $_SESSION['SID'];

# Die Session wird beendet
session_destroy();

Wenn der Anwender Cookies deaktiviert hat, funktioniert das leider nicht. Dafür gibt es die PHP-Konstante SID, die an URLs angehängt werden muss. Davon ist allerdings abzuraten, weil sie so dem Benutzer wieder sichtbar gemacht wird. Sind Cookies aktiviert, enthält die Konstante eine leere Zeichenkette.

<?php echo SID; ?>

Falls in der PHP-Konfiguration aktiviert, kann auch die Kurzform verwendet werden:

<?=SID?>
]]>
0
Zend_Auth und Zend_Acl Zend_Auth ist, wie Zend_Acl auch, Teil des Zend-Frameworks und ist dafür da, einen Benutzer zu Authentifizieren - also um seine Identität zu prüfen und zu bestätigen. Zend_Acl dagegen wird zur Autorisierung genutzt.

Diese beiden Komponenten sind voneinander unabhängig, können aber auf verschiedenste Weise miteinander verbunden und gemeinsam genutzt werden. Meine Methode werde ich in diesem Workshop vorstellen.]]>
Fri, 27 Aug 2010 21:55:38 +0200 http://www.diversium.info/artikel/programmierung_php_zend_auth-und-zend_acl http://www.diversium.info/artikel/programmierung_php_zend_auth-und-zend_acl Annika Annika CREATE TABLE `my_user` ( `nickname` VARCHAR(30), `password` VARCHAR(30), `role` VARCHAR(35) DEFAULT 'member', PRIMARY KEY (`nickname`) ); ]]> 0
Fehlerbehandlung Wed, 18 Aug 2010 22:02:01 +0200 http://www.diversium.info/artikel/programmierung_php_fehlerbehandlung http://www.diversium.info/artikel/programmierung_php_fehlerbehandlung Annika Annika Stellt man das @ vor einen Ausdruck, werden alle Fehlermeldungen, die von diesem Ausdruck erzeugt werden, unterdrückt, d.h. es wird keine Ausgabe gemacht. Ausdrücke sind in PHP z.B. Variablen, Funktionsaufrufe und Konstanten. Bei Funktions- oder Klassendefinitionen oder vor Kontrollstrukturen kann der Operator nicht verwendet werden.
Das Unterdrücken von Meldungen bedeutet nicht, dass das Script weiter ausgeführt wird. Bei einem kritischen Fehler beendet das Script nach wie vor, nur bleibt der Hinweis auf die Ursache aus.

@include("meine_datei.php");
]]>
0
Konstanten Wed, 04 Aug 2010 16:31:04 +0200 http://www.diversium.info/artikel/php_konstanten http://www.diversium.info/artikel/php_konstanten Annika Annika Konstanten unterscheiden normalerweise zwischen Groß- und Kleinschreibung; das bedeutet I_AM_A_CONSTANT ist eine andere Konstante als I_Am_A_Constant. Es hat sich bewährt Konstanten-Namen immer ausschließlich in Großbuchstaben zu schreiben.
Der Name einer Konstante beginnt zwingend mit einem Buchstaben oder dem Unterstrich, gefolgt von beliebig vielen weiteren Buchstaben, Unterstrichen oder Ziffern.

Konstanten werden zur Laufzeit mithilfe des Funktion define() definiert. Dieser Funktion können drei Parameter übergeben werden. Nur die ersten beiden Parameter sind Pflicht, denn diese definieren erstens den Namen der Konstante (in doppelten oder einfachen Anführungszeichen) und zweitens ihren Wert. Einer Konstante kann jeder beliebige skalare Wert (string, int, float, bool) zugewiesen werden.

define('I_AM_A_CONSTANT', true);
define('I_Am_A_Constant', 'Yes, I am!');

Übergibt man als dritten Parameter true, hebelt man das Standard-Verhalten, zwischen Groß- und Kleinschreibung zu unterscheiden, aus. Das bedeutet allerdings nur, dass der Name der Konstante komplett in Kleinbuchstaben gespeichert wird, egal wie er definiert wurde.

define('I_Am_A_Constant', 'Yes, I am!', true);

echo i_am_a_constant; // Yes, I am!

Ob eine Konstante existiert, kann mithilfe von defined() geprüft werden.

if (false == defined('I_AM_A_CONSTANT')) {
  define('I_AM_A_CONSTANT', 'Yes, I am!');
}
]]>
0
Transparente PNGs im IE6 Wed, 04 Aug 2010 16:12:03 +0200 http://www.diversium.info/artikel/css_transparente_pngs_im_ie6 http://www.diversium.info/artikel/css_transparente_pngs_im_ie6 Annika Annika Dieses Problem kann zumindest für Hintergrundbilder gelöst werden, indem dem CSS-Property value (implementiert im IE seit Version 5.5) der AlphaImageLoader zugewiesen wird.

filter: progid:DXImageTransform.Microsoft.filtername(attribute='value'[, ...]);

Mit den folgenden drei Attributen kann gesteuert werden, die die Grafiken angezeigt werden:

src
Pfad zu der Grafik, die verwendet werden soll. Werden die Stylesheets aus einer externen Datei geladen, muss der Pfad relativ zu der Datei sein, in der die Stylesheets eingebunden werden.
sizingMethod
Legt fest, wie die Grafik skaliert wird.
crop
Die Größe des Containers und die der Grafik bleiben unverändert.
image
Passt die Größe des Containers an die der Grafik an. Enthaltener Text wird abgeschnitten. (default)
scale
Passt die Größe der Grafik an die des Containers an.
enabled
De-/aktiviert den Filter

Mithilfe von Conditional Comments ist es außerdem möglich, spezielle CSS-Blöcke für den Internet Explorer zu definieren, z.B.:

<style type="text/css">
#layer {
     background-image:url(bild.png);
}
</style>

<!--[if IE 6]>
<style type="text/css">
#layer {
     filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bild.png', sizingMethod='scale');
     background: none;
}
</style>
<![endif]-->

Damit wird derselbe Style zwei mal definiert. Die erste Definition wird von allen Browsern, auch dem IE, verwendet. Ist der aktuelle Browser ein Internet Explorer 6, wird die zweite Definition geladen. Diese zweite Definition erweitert die erste und enthält hauptsächlich die filter-Eigenschaft. Wichtig ist hierbei, background auf none zu setzen, um alle geerbten Hintergrund-Eigenschaften zu entfernen, da sie sonst ebenfalls verwendet würden.

Ich hoffe, ich konnte jemandem damit helfen - ich selbst habe vor einiger Zeit lange nach einer Lösung dafür gesucht.

]]>
0
Datenbanken DATABASE bzw. DATABASES vorkommt, kann stattdessen SCHEMA bzw. SCHEMAS eingesetzt werden.]]> Wed, 04 Aug 2010 15:57:01 +0200 http://www.diversium.info/artikel/mysql_datenbanken http://www.diversium.info/artikel/mysql_datenbanken Annika Annika Datenbanken werden erstellt, indem das CREATE DATABASE-Statement verwendet wird. Pflichtangabe ist lediglich der zukünftige Name der Datenbank. Zusätzlich können auch die Optionen COLLATION und CHARACTER SET angegeben werden, die als Default für Tabellen verwendet werden, die in dieser Datenbank erstellt werden.

mysql> CREATE DATABASE `meine_datenbank`;
mysql> CREATE DATABASE `meine_datenbank` CHARACTER SET utf8;
mysql> CREATE DATABASE `meine_datenbank` CHARACTER SET utf8 COLLATE utf8_danisch_ci;

Existiert bereits eine Datenbank mit dem gewünschten Namen, wird normalerweise ein Error von MySQL erzeugt. Um sicherzugehen, dass eine Datenbank mit dem Namen existiert und statt eines Fehlers nur eine Warnung zu produzieren, kann dem Statement ein IF NOT EXISTS hinzugefügt werden.

mysql> CREATE DATABASE IF NOT EXISTS `meine_datenbank`;

Datenbanken können nicht verschachtelt sein, d.h. in einer Datenbank kann keine weitere Datenbank angelegt werden.

Physisch werden Datenbanken als Verzeichnisse dargestellt. Für jede Datenbank existiert ein Verzeichnis im data directory von MySQL, dessen Name derselbe ist, wie der der Datenbank, die es darstellt - das database directory. Darin enthalten sind alle Objekte, die in dieser Datenbank angelegt wurden, z.B. Tabellen. Zudem gibt es hier eine Datei mit dem Namen db.opt, die das Default-Character-Set und die Default-Collation der Datenbank enthält.

]]>
0
Kontrollstrukturen Wed, 04 Aug 2010 15:27:58 +0200 http://www.diversium.info/artikel/programmierung_php_kontrollstrukturen http://www.diversium.info/artikel/programmierung_php_kontrollstrukturen Annika Annika PHP kennt zwei Arten von Verzweigungen: if und switch.

if - else if - else

Das if-Konstrukt erlaubt die bedingte Ausführung von Programmteilen. Die umgebenen Anweisungen werden nur ausgeführt, wenn die gegebenen Bedingungen zusammen true ergeben.

$a = 2;
$b = 3;

if ($a < $b) {
     echo "$a ist kleiner als $b";
}

Das einfache if kann durch ein else erweitert werden. Die Anweisungen im Block des else-Zweigs werden dann ausgeführt, wenn die Bedingungen des if-Zweigs false ergeben.

$a = 2;
$b = 3;

if ($a < $b) {
     echo "$a ist kleiner als $b";
} else {
     echo "$a ist NICHT kleiner als $b";
}

Für diese Struktur gibt es auch eine Kurzform:

echo ($a < $b ? "$a ist kleiner als $b" : "$a ist NICHT kleiner als $b");

Um weitere Bedingungen prüfen zu können, kennt PHP das elseif, welches zwischen dem if und dem else angeordnet werden muss. Während es immer nur ein if und kein oder ein else gibt, können beliebig viele elseif eingesetzt werden.

$a = 2;
$b = 3;

if ($a < $b) {
     echo "$a ist kleiner als $b";
} else if ($a > $b) {
     echo "$a ist größer als $b";
} else if ($a == $b) {
     echo "$a ist genauso groß wie $b";
} else {
     echo "Ich bin ratlos...";
}

Grundsätzlich gilt: Wenn der Anweisungsblock nur aus einer einzigen Anweisung besteht, können die umschließenden geschweiften Klammern weggelassen werden!
Wem diese Schreibweise nicht gefällt, kann auf die alternative Schreibweise, bei der keine geschweiften Klammern verwendet werden, ausweichen:

$a = 2;
$b = 3;

if ($a < $b):
     echo "$a ist kleiner als $b";
elseif ($a > $b):
     echo "$a ist größer als $b";
elseif ($a == $b):
     echo "$a ist genauso groß wie $b";
else:
     echo "Ich bin ratlos...";
endif;

switch

Die zweite Verzweigung von PHP ist die switch-Anweisung, die im Grunde nichts anderes als ein if ist mit elseif bei dem immer auf denselben Parameter geprüft werden. Die Anweisung ermöglicht es, eine Variable mit unterschiedlichen Werten zu vergleichen und je nach Ergebnis andere Programmteile ausführen. Werte, auf die geprüft werden kann, dürfen nur von einfachem Typ (Integer, Float, String) sein. Jeder Wert, auf den geprüft wird, ist ein eigener Fall (case). Trifft ein Fall zu, werden die darauffolgenden Anweisungen bis zum ersten break ausgeführt. Wird kein break gefunden, werden die folgenden Fälle ebenfalls ausgeführt.
Fälle können auch zusammengefasst werden. Sollen für zwei oder mehrere Fälle dieselben Aktionen ausgeführt werden, können die jeweiligen Fälle einfach aufeinanderfolgend notiert werden.

$rand = rand(0,10);

switch ($rand) {
     # die Zufallszahl ist 0
     case 0:
          echo "\$rand ist $rand";
          break; # hier endet der case 0

     # sowohl für case 1, als auch für case 2 werden die Anweisungen ausgeführt, die nach case 2 stehen.
     case 1:
     case 2:
          echo "\$rand ist 1 oder 2";
          break; # hier enden case 1 und 2

     case 4:
          echo "\$rand ist 4";
     # case 4 hat kein break, weshalb case 5 ebenfalls ausgeführt wird, wenn die Zufallszahl 4 ist

     case 5:
          echo "\$rand ist 5";
          break; # der letzte Fall in einem switch benötigt kein break
}

Gibt man in der Bedingung true an, kann man die Fälle mit Ausdrücken belegen.

switch (true) {
     case $a == $b:
          break;

     case $a < $b:
          break;
}
Für alle anderen Fälle, die nicht vom switch abgedeckt werden, bei denen aber ebenfalls Aktionen durchgeführt werden sollen, kann ein Standard-Fall mit default definiert werden. Der default-Fall kann an einer beliebigen Stelle in der case-Reihenfolge vorkommen, er wird nur dann ausgeführt, wenn kein anderer Fall zutrifft.
$rand = rand(0,10);

switch ($rand) {
     case 0:
          echo "\$rand ist $rand";
          break;

     case 1:
     case 2:
          echo "\$rand ist 1 oder 2";
          break;

     # der default-Fall greift nur dann, wenn die Zufallszahl > 5 ist, weil nur die Zahlen 0-5 von den cases geprüft werden
     default:
          echo "\$rand ist > 5";
          break;

     case 4:
          echo "\$rand ist 4";
          break;

     case 5:
          echo "\$rand ist 5";
          break;
}

Auch für das switch-Statement gibt es eine alternative Schreibweise.

$rand = rand (0,3);

switch ($rand):
     case 0:
          echo "Die Zufallszahl ist 0";
          break;

     case 1:
          echo "Die Zufallszahl ist 1";
          break;

     default:
          echo "Die Zufallszahl ist nicht 0 und nicht 1";
endswitch;
]]>
0