Home >Backend Development >PHP Problem >How to determine whether it is an associative array in php
Judgment steps: 1. Use array_keys() to get all the key names of the array. The syntax "array_keys($arr)" will return a key array containing all key names; 2. Use foreach to traverse the key names. Array, in the loop body, determine whether any array element is of string type. As long as one is, it is an associative array. The syntax "foreach($k as $v){if(is_string($v)){echo "is associative Array ";}}".
The operating environment of this tutorial: windows7 system, PHP8.1 version, DELL G3 computer
What is an associative array
The subscript (key name) of an associative array is composed of a mixture of numeric values and strings. If a key name in an array is not a number, then the array is an associative array.
How does PHP determine whether it is an associative array
1. Use array_keys() to get the key name of the array
array_key() function can get some or all key names in the array and return an array of key names
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(1=>"1","a"=>"red",2=>"2","b"=>"green","c"=>"blue"); var_dump($arr); $keys=array_keys($arr); var_dump($keys); ?>
2. Use foreach to traverse the key names Array
In the loop body, determine whether any array element is a string
As long as one of the array elements is a string, the array is an associative array
foreach($keys as $v){ if(is_string($v)){ echo "是关联数组"; break; } }
Improve it: Determine whether the array is an associative array or an index array
$keys=array_keys($arr); $b=""; foreach($keys as $v){ if(!is_string($v)){ $b=false; }else{ $b=true; break; } } if($b){ echo "是关联数组"; }else{ echo "不是关联数组,是索引数组"; }
If the detection is The following array:
$arr=array(1,2,3,4,5);
will output:
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How to determine whether it is an associative array in php. For more information, please follow other related articles on the PHP Chinese website!