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ștearray_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.