array_first / array_last în PHP

Tablouri (array) PHP 8.5+

Returnează prima, respectiv ultima valoare dintr-un tablou, oricare ar fi cheile, sau null pentru un tablou gol.

Sintaxă
array_first(array $array): mixed
array_last(array $array): mixed

Ce face array_first / array_last

array_first returnează valoarea primului element din tablou, iar array_last valoarea ultimului. „Primul” înseamnă primul în ordinea în care elementele stau în tablou, nu cel cu cheia cea mai mică.

Funcțiile merg la fel pentru liste ([0, 1, 2]) și pentru tablouri asociative (["ana" => 9]). Nu mută pointerul intern al tabloului, spre deosebire de reset() și end(), și nu cer o variabilă: le poți da direct rezultatul altei funcții.

Înainte de PHP 8.5 scriai $t[array_key_first($t)]. Acum un singur apel face același lucru.

Parametri

Parametru Descriere
$array Tabloul din care se citește valoarea.

Ce returnează

Prima (sau ultima) valoare din tablou, ori null dacă tabloul este gol.

Exemple

Exemplul 1: Primul și ultimul client dintr-o listă

<?php
$clienti = [1042 => "Ana", 1043 => "Mihai", 1044 => "Ioana"];

echo array_first($clienti) . "\n";
echo array_last($clienti);

Rezultat

Ana
Ioana

Exemplul 2: Direct pe rezultatul altei funcții

Nu ai nevoie de o variabilă intermediară, ca la reset() sau end().

<?php
$note = ["Ana" => 9, "Mihai" => 7, "Ioana" => 10];

arsort($note);
echo "Cea mai mare notă: " . array_first($note) . "\n";
echo "Prima persoană cu nota peste 8: " . array_first(array_keys(array_filter($note, fn($n) => $n > 8)));

Rezultat

Cea mai mare notă: 10
Prima persoană cu nota peste 8: Ioana

Exemplul 3: Tablou gol

Pentru un tablou gol primești null. Dacă tabloul poate conține chiar valoarea null, verifică mai întâi cu empty() sau count().

<?php
var_dump(array_first([]));
var_dump(array_last([null]));

Rezultat

NULL
NULL

Greșeli frecvente

  • Crezi că array_first returnează elementul cu cheia 0 sau cu cheia cea mai mică. Returnează primul element în ordinea din tablou.
  • Folosești funcția pe un server cu PHP mai vechi de 8.5 și primești Call to undefined function array_first(). Pe versiuni vechi scrie $t[array_key_first($t)].
  • Tratezi null ca „tablou gol”, deși tabloul poate avea chiar valoarea null pe prima poziție.

Comenzi înrudite