array_is_list în PHP

Tablouri (array) PHP 8.1+

Verifică dacă un tablou este o listă simplă, cu cheile 0, 1, 2... în ordine.

Sintaxă
array_is_list(array $array): bool

Ce face array_is_list

Un tablou este „listă” dacă cheile sale sunt exact 0, 1, 2… fără goluri și în ordine. Un tablou gol este și el o listă.

Diferența contează, de exemplu, la json_encode: o listă devine un tablou JSON [...], iar orice alt tablou devine un obiect JSON {...}.

Parametri

Parametru Descriere
$array Tabloul verificat.

Ce returnează

true dacă tabloul este listă, altfel false.

Exemple

Exemplul 1: Ce este și ce nu este listă

<?php
var_dump(array_is_list(["a", "b", "c"]));
var_dump(array_is_list([]));
var_dump(array_is_list([1 => "a", 2 => "b"]));
var_dump(array_is_list(["nume" => "Ana"]));

Rezultat

bool(true)
bool(true)
bool(false)
bool(false)

Exemplul 2: După unset și array_filter

Golurile din chei transformă lista în tablou asociativ, iar JSON-ul se schimbă.

<?php
$numere = array_filter([1, 2, 3, 4], fn($n) => $n > 2);

var_dump(array_is_list($numere));
echo json_encode($numere) . "\n";
echo json_encode(array_values($numere));

Rezultat

bool(false)
{"2":3,"3":4}
[3,4]

Greșeli frecvente

  • Trimiți ca JSON un tablou filtrat și JavaScript primește un obiect în loc de listă. Verifică cu array_is_list și folosește array_values.

Comenzi înrudite

  • array_keys / array_values: Returnează doar cheile (array_keys) sau doar valorile (array_values) unui tablou.
  • array_filter: Păstrează doar elementele dintr-un tablou care îndeplinesc o condiție.
  • json_encode: Transformă un tablou sau obiect PHP în text JSON.