Einer Variablen können auch mehrere Werte zugewiesen werden. Diese werden dann in einem sogenannten Array gespeichert. Ein Array mit mehreren Strings als Werten würde z.B. so aussehen:
$zutaten = array('Mehl', 'Milch', 'Zucker');
Einen Array kann man nicht einfach mit dem echo Befehl wiedergeben.
echo $zutaten; //ausgegeben wird dann lediglich array
Mit dem Befehl print_r kann man die einzelnen Bestandteile eines Arrays auslesen.
print_r($zutaten);
ergibt: Array ( [0] => Mehl [1] => Milch [2] => Zucker )
Die einzelnen Elemente des Arrays werden indexiert und der Index beginnt mit der Zahl 0.
Nun kann man ein einzelnes Element des Arrays mit dem echo Befehl und Angabe der Indexnummer aufrufen. Die Indexnummer des Elements wird dabei in eckige Klammern gesetzt:
echo $zutaten[2];
Da die Zählung mit Null beginnt, wird dann das dritte Array-Element wiedergegeben: Milch
Nachträglich Elemente zu einem Array hinzufügen
Es lassen sich auch nachträglich neue Werte zu einem bestehenden Array hinzufügen. Hierzu gibt man den Namen des Array mit leeren eckigen Klammern an und weist dem Array ein neues Element zu:
$zutaten[] = 'Eier';
Eine Ausgabe des Arrays mit dem Befehl print_r($zutaten); ergibt dann
Array ( [0] => Mehl [1] => Milch [2] => Zucker [3] => Eier )
Der neue Wert ‚Eier‘ wurde dem Array als viertes Element mit der als nächstes verfügbaren Indexnummer hinzugefügt.
Da jedes Element dieses Arrays eine Indexnummer besitzt, wird diese Art von Array auch Indexed Array bzw. Indiziertes Array genannt.
Neben dem Indexed Array gibt es in PHP auch noch eine zweite Art von Arrays, die Assoziativen Arrays. In einem assoziativen Array bestehen die einzelnen Elemente aus Schlüsseln (keys), denen jeweils ein Wert zugewiesen wird.
Beispiel eines assoziativen Arrays:
$zutaten = array ( 'Mehl' => '500g', 'Milch' => '¼ Liter', 'Zucker' => '150g', 'Eier' => '3' );
Der Array kann wieder mit print_r() ausgelesen werden:
print_r($zutaten);
dann werden die Werte des Arrays wie folgt ausgegeben:
Array ( [Mehl] => 500g [Milch] => ¼ Liter [Zucker] => 150g [Eier] => 3 )
Man kann auch zu einem assoziativen Array nachträglich Werte hinzufügen. Dabei wird der Schlüsselbegriff in eckige Klammern gesetzt und der Wert mit dem Zuweisungsoperator, dem Gleichheitszeichen, zugewiesen.
$zutaten['Butter'] = '250g'; print_r($zutaten);
Ausgegeben wird der Array dann wie folgt:
Array ( [Mehl] => 500g [Milch] => ¼ Liter [Zucker] => 150g [Eier] => 3 [Butter] => 250g )
Ein assoziativer Array kann nicht ohne weiteres innerhalb doppelter Anführungszeichen wiedergegeben werden. Dieser Befehl würde in einer Fehlermeldung resultieren:
echo „Im Rezept ist $zutaten[‚Milch‘] Milch enthalten.“;
Um einen assoziativen Arrays innerhalb doppelter Anführungsanzeichen per echo-Befehl auszugeben, muss das Element in geschweifte Klammern gesetzt werden.
echo "Im Rezept ist {$zutaten['Milch']} Milch enthalten.";
Nun verschwindet die Fehlermeldung und der Wert wird korrekt wiedergegeben.