Start · Sprachen · PHP · Referenz · array_first

array_first

Funktion

Liefert den ersten Wert eines Arrays, ohne den internen Zeiger zu verändern.

Kategorie: array

Signatur

array_first(array $array): mixed

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

Typ
mixed
Beschreibung
Gibt den Wert des ersten Elements des Arrays zurück. Bei einem leeren Array wird typischerweise 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
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
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
42 42 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.