array_is_list
funkcja
Sprawdza, czy tablica jest listą — czyli ma klucze całkowite 0, 1, 2, … bez przerw. Dostępna od PHP 8.1.
array_is_list(array $array): bool
array_is_list (PHP 8.1+) zwraca true, gdy tablica ma wyłącznie kolejne klucze całkowite zaczynające się od 0: 0, 1, 2, … bez żadnych przerw i bez kluczy tekstowych. Pusta tablica [] też jest listą. W każdym innym przypadku — klucze tekstowe, nieciągłe numery, inna kolejność — funkcja zwraca false.
Przydaje się, gdy chcesz sprawdzić, czy możesz bezpiecznie zakodować tablicę jako JSON-owy array (a nie obiekt), albo czy wynik json_decode to lista, czy słownik.
<?php
declare(strict_types=1);
var_export(array_is_list([1, 2, 3])); // true
echo PHP_EOL;
var_export(array_is_list(['a' => 1, 'b' => 2])); // false
echo PHP_EOL;
var_export(array_is_list([0 => 'a', 2 => 'b'])); // false — przerwa w kluczach
echo PHP_EOL;
var_export(array_is_list([])); // true — pusta tablica to lista
// wynik:
// true
// false
// false
// true