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
📘 Naucz się w lekcji →