In PHP gelten PHP Arrays als wichtiges Konzept. Dabei ist ein PHP Array im Grunde genommen nichts anderes als eine geordnete Liste. In den meisten Fällen ist es eine Liste von Zahlen oder Texten, den sogenannten Strings. Mit Hilfe eines PHP Arrays ist es zum Beispiel möglich, die Wochentage oder alle Besucher in einer Liste zusammenzufassen. Im folgendem Verlauf dieses Artikels lernt ihr, wie ihr PHP Arrays am Besten definiert und mit diesen arbeitet. Außerdem lernt ihr die wichtigsten und nützlichsten Funktionen der PHP Arrays.
PHP Programmierer buchen!
Ein PHP Array kann mit dem Sprachkonstrukt array() erstellt werden. Als Argumente werden beliebig viele durch Kommas getrennte keys => value pairs verwendet.
1 2 3 4 5 6 7 |
array ( key => value, key2 => value2, key3 => value3, ... ) |
Das Komma nach dem letzten PHP Array-Element ist optional und kann weggelassen werden. Normalerweise wird diese für einzeilige PHP Arrays durchgeführt, d. h. array(1, 2) wird gegenüber array(1, 2, ) bevorzugt. Bei mehrzeiligen PHP Arrays hingegen wird das abschließende Komma verwendet, da es das Hinzufügen neuer Elemente am Ende erleichtert. Weiterhin existiert auch eine kurze PHP Array-Syntax, die array() durch [] ersetzt.
1 2 3 4 5 6 |
<?php $digital = array("PC", "Tablet", "Smartphone"); echo "Ich habe ein " . $digital[0] . ", " . $digital[1] . " und " . $digital[2] . "."; //Ausgabe: Ich habe ein PC, Tablet und Smartphone. ?> |
Der Schlüssel kann entweder ein Int oder ein String sein. Der Wert kann einen beliebigen Typ haben.
Zusätzlich treten folgende Key Casts auf:
Wenn mehrere Elemente in der PHP Array-Deklaration denselben Key (Schlüssel) verwenden, wird nur das letzte Element verwendet, da alle anderen überschrieben werden.
Eine PHP Variable kann bekanntlich nur einen Wert speichern. PHP Arrays dagegen können beliebig viele Werte speichern, auch wenn es dabei um unterschiedlichen Typen geht. Ein PHP Array z.B. eine Zeichenkette (String/Text) kann sowohl eine Ganzzahl als auch eine Zahl mit Kommastellen enthalten. Auf diese Weise ist es möglich separat auf jeden dieser Werte zuzugreifen.
Ein Beispiel:
Null wird dagegen in dem leeren String gecastet, d. h. der key „0“ wird tatsächlich unter „“ gespeichert. PHP Arrays und Objekte können nicht als keys verwendet werden. Dies führt zu einer Warnung: unzulässiger Offset-Typ.
Zugriff auf PHP Array-Elemente mit eckiger Klammersyntax
1 2 3 4 5 6 |
<?php $a=array(100,200,300,"100"); print_r(array_keys($a,"100",false)); //Ausgabe: [0] => 0 [1] => 3 ?> |
Vor PHP 8.0.0 konnten eckige Klammern und geschweifte Klammern austauschbar für den Zugriff auf PHP Array-Elemente verwendet werden (z. B. würden $array[42] und $array{42} im obigen Beispiel beide dasselbe tun). Die Syntax mit geschweiften Klammern ist ab PHP 7.4.0 veraltet und wird ab PHP 8.0.0 nicht mehr unterstützt.