Start · Sprachen · PHP · Referenz · array

array

Funktion

Erstellt ein neues Array aus den übergebenen Werten, wahlweise mit expliziten Schlüsseln.

seit PHP 4.0.0 Kategorie: array

Signatur

array(mixed ...$values): array

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 int und string ist 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

Typ
array
Beschreibung
Gibt das neu erstellte Array zurück. Das Konstrukt gibt immer ein Array zurück, bei leerer Parameterliste ein leeres Array.

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);
Array ( [0] => Rot [1] => Grün [2] => Blau ) Array ( [0] => Rot [1] => Grün [2] => Blau )

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'];
Anna Müller, Alter: 30

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;
}
1, 2, 3 4, 5, 6 7, 8, 9

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);
Array ( [0] => Überschrieben [foo] => bar [1] => 1 )

// 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.