Using Arr::isList() in Laravel 11.x & Laravel 12.x

In Laravel 11.x & Laravel 12.x, the Arr::isList() method is a utility provided by the Illuminate\Support\Arr class. It is used to determine whether a given array is a list. A list is an array where the keys are sequential integers starting from 0 (e.g., [0 => ‘apple’, 1 => ‘banana’, 2 => ‘cherry’]). This is in contrast to associative arrays, where the keys are not sequential or are non-integer (e.g., [‘name’ => ‘John’, ‘age’ => 25]).

How Arr::isList() Works?

Returns true if the array is a list (sequential integer keys starting from 0).

Returns false if the array is associative or has non-sequential keys.

Example Usage

use Illuminate\Support\Arr;

// Example 1: List array
$listArray = ['apple', 'banana', 'cherry'];
$isList = Arr::isList($listArray); // true

// Example 2: Associative array
$assocArray = ['name' => 'John', 'age' => 25];
$isList = Arr::isList($assocArray); // false

// Example 3: Non-sequential keys
$nonSequentialArray = [1 => 'apple', 2 => 'banana'];
$isList = Arr::isList($nonSequentialArray); // false

// Example 4: Empty array
$emptyArray = [];
$isList = Arr::isList($emptyArray); // true

Explanation

List Array: Keys are sequential integers starting from 0.

Example: [‘apple’, ‘banana’, ‘cherry’] → Arr::isList() returns true.

Associative Array: Keys are not sequential or are non-integer.

Example: [‘name’ => ‘John’, ‘age’ => 25] → Arr::isList() returns false.

Non-Sequential Keys: Keys are integers but not starting from 0 or not sequential.

Example: [1 => ‘apple’, 2 => ‘banana’] → Arr::isList() returns false.

Empty Array: An empty array is considered a list by default.

Example: [] → Arr::isList() returns true.