Signatur
Beschreibung
array() ist ein Sprachkonstrukt (kein echter Funktionsaufruf) und erzeugt ein Array aus den angegebenen Werten. Seit PHP 5.4 steht die Kurzschreibweise [] als gleichwertige Alternative zur Verfügung.
Schlüssel-Wert-Paare werden mit dem =>-Operator notiert: array('schluessel' => 'wert'). Ohne Schlüsselangabe werden automatisch aufsteigende Integer-Indizes vergeben, beginnend bei 0 (oder dem nächsten freien Index nach dem höchsten vorhandenen).
Arrays können gemischte Schlüsseltypen (Integer und String) enthalten und beliebig tief verschachtelt werden. Sie sind eines der vielseitigsten Konstrukte in PHP und werden für Listen, Dictionaries, Stacks, Queues und viele weitere Datenstrukturen verwendet.
- Nur der Schlüsseltyp
intundstringist zulässig; andere Typen werden automatisch konvertiert. - Doppelte Schlüssel überschreiben den vorherigen Wert.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $values | mixed | Beliebig viele Werte, optional mit expliziten Schlüsseln in der Form schluessel => wert. Ohne Schlüsselangabe werden automatische Integer-Indizes verwendet. |
Rückgabewert
Beispiele
Einfaches indiziertes Array
<?php
$farben = array('Rot', 'Grün', 'Blau');
print_r($farben);
// Kurzschreibweise (ab PHP 5.4)
$farben2 = ['Rot', 'Grün', 'Blau'];
print_r($farben2);
Assoziatives Array mit Schlüssel-Wert-Paaren
<?php
$person = array(
'vorname' => 'Anna',
'nachname' => 'Müller',
'alter' => 30,
);
echo $person['vorname'] . ' ' . $person['nachname'] . ', Alter: ' . $person['alter'];
Verschachteltes Array
<?php
$matrix = array(
array(1, 2, 3),
array(4, 5, 6),
array(7, 8, 9),
);
foreach ($matrix as $zeile) {
echo implode(', ', $zeile) . PHP_EOL;
}
Gemischte Schlüssel und doppelte Schlüssel
<?php
$gemischt = array(
0 => 'Null',
'foo' => 'bar',
0 => 'Überschrieben', // überschreibt den vorherigen Wert für Schlüssel 0
1, // erhält automatisch Schlüssel 1
);
print_r($gemischt);
// Wichtig · Fallstricke
Kurzschreibweise: Ab PHP 5.4 ist [] vollständig gleichwertig zu array() und wird in modernem PHP-Code bevorzugt.
Schlüsselkonvertierung: Float-Schlüssel werden zu Integer gekürzt (nicht gerundet), Boolean true wird zu 1 und false zu 0. null wird zu einem leeren String ''.
Kein echter Funktionsaufruf: Da array() ein Sprachkonstrukt ist, kann es nicht als Callback übergeben oder über call_user_func() aufgerufen werden.