What is the array_is_list() method in PHP?
Overview
In PHP, we primarily use two types of arrays. These two arrays are the index array and associative array. Either of these arrays can be a list.
What makes an array a list?
We consider an array a list if its keys consist of consecutive numbers from 0 to the size of the array minus the value 1. If the keys of an array are 0,1,2,3,4 until the last array index consecutively, then an array is a list.
The array_is_list() method
The array_is_list() method will check if an array is a list or not and will return the appropriate boolean value to that effect. Therefore, if the array is not a list, a false is returned, and if a true is returned, an array is a list. This function only works on PHP version 8.1 and later.
Syntax
The syntax of the method is as follows:
array_is_list($array_value)
Parameters
$array_value: We’ll use this array to check if it’s a list.
Return
The function will return an integer 1 if it evaluates as true and an empty value if it evaluates as false.
Code
The code snippet below shows different arrays which are checked for being a list or not.
<?php//checking if an empty array is a listif(array_is_list([])){echo "true \n";};//check if this index array is a listif(array_is_list(['apple', 2, 3])){echo "true \n";}// The keys are not in the correct order and doesn't start at zeroif(array_is_list([1 => 'apple', 0 => 'orange']) === false){echo "false \n"; // false}// This array contains Non-integer keysif (array_is_list([0 => 'apple', 'foo' => 'bar']) === false){echo "false \n";}// Non-consecutive keysif(array_is_list([0 => 'apple', 2 => 'bar'])=== false){echo "false \n";};?>
Explanation
-
Line 4: We’ll use the
ifstatement to check if an empty array is a list or not and print the value. -
Line 9: We check if this index array is a list.
-
Line 14: We use an array whose keys are not in the correct order and don’t start at zero, then check if it is a list or not.
-
Line 19: We use the
ifstatement to check if thearray_is_list()method will evaluate true onNon-integer keys. -
Line 24: The array here contains the
Non-integer keys.Therefore, it will not evaluate as a list, and theifcondition will evaluate as false.