Signatur
Beschreibung
array_first ist keine native PHP-Funktion der Standardbibliothek. Sie existiert in dieser Form nicht im offiziellen PHP-Kern (Stand PHP 8.4). Der Name taucht jedoch häufig in Framework-Hilfsfunktionen auf – etwa in Laravel (Arr::first()), Symfony, oder in eigenen Utility-Bibliotheken – und beschreibt das Konzept, den ersten Wert eines Arrays zurückzugeben.
Das klassische PHP-Äquivalent ist reset(), das den internen Array-Zeiger auf das erste Element setzt und dessen Wert zurückgibt, oder array_values($array)[0] für einen direkten Zugriff ohne Seiteneffekte. Ab PHP 8.1 steht außerdem array_is_list() zur Verfügung, und mit current() lässt sich der aktuelle Zeiger-Wert ermitteln.
Wenn array_first in einer Codebasis verfügbar ist, arbeitet sie typischerweise so: Sie nimmt ein Array entgegen und liefert den Wert des ersten Elements zurück – unabhängig vom Index. Bei einem leeren Array wird in der Regel null zurückgegeben. Optionale Varianten akzeptieren zusätzlich eine Callback-Funktion, die als Filter dient und das erste Element zurückgibt, das die Bedingung erfüllt.
Für eigene Projekte ohne Framework empfiehlt sich eine eigene Hilfsfunktion oder direkt reset() bzw. array_values($array)[0] ?? null.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $array Pflicht | array | Das Eingabe-Array, dessen erstes Element zurückgegeben werden soll. |
Rückgabewert
null zurückgegeben.Beispiele
Erstes Element eines indizierten Arrays ermitteln
<?php
// Eigene Implementierung von array_first
function array_first(array $array): mixed {
if (empty($array)) {
return null;
}
return reset($array);
}
$farben = ['rot', 'grün', 'blau'];
$erste = array_first($farben);
echo $erste; // rot
Erstes Element eines assoziativen Arrays ermitteln
<?php
function array_first(array $array): mixed {
if (empty($array)) {
return null;
}
return reset($array);
}
$benutzer = [
'name' => 'Anna',
'email' => 'anna@example.com',
'alter' => 30,
];
$ersterWert = array_first($benutzer);
echo $ersterWert; // Anna
Alternatives PHP-Idiom ohne eigene Funktion
<?php
$zahlen = [42, 17, 99];
// Variante 1: reset() – verändert den internen Zeiger
$erste = reset($zahlen);
echo $erste . PHP_EOL; // 42
// Variante 2: ohne Seiteneffekte
$erste = array_values($zahlen)[0] ?? null;
echo $erste . PHP_EOL; // 42
// Variante 3: leeres Array
$leer = [];
$erste = array_values($leer)[0] ?? null;
var_dump($erste); // NULL
// Wichtig · Fallstricke
Achtung: array_first ist keine eingebaute PHP-Funktion. Ein Aufruf ohne vorherige Definition oder ohne entsprechende Bibliothek führt zu einem fatalen Fehler (Call to undefined function array_first()).
Die Funktion reset() verändert den internen Array-Zeiger als Seiteneffekt, was in seltenen Fällen bei gleichzeitiger Iteration mit foreach oder current()/next() zu unerwartetem Verhalten führen kann. Für seiteneffektfreien Zugriff empfiehlt sich array_values($array)[0] ?? null.
In Laravel bietet Arr::first($array, $callback, $default) eine mächtigere Variante mit optionalem Callback-Filter und Standardwert.