如题所述
具体思路:获取数组的所有键:“array_keys()”
遍历所有键判断是否按照顺序从0开始每个增一。
具体方法如下:
function _checkAssocArray($arr)
{
$index = 0;
foreach (array_keys($arr) as $key) {
if ($index++ != $key) return false;
}
return true;
}
逻辑很简单,关联数组的键不会全部都按照:0,1,2,3…的顺序递增,如果它确实这样,那么和数值数组没有任何区别,相同处理即可。
网上有另外一种思路:将数组所有的键与一个(0,数组长度)的新数组求差,
遍历所有键判断是否按照顺序从0开始每个增一。
具体方法如下:
function _checkAssocArray($arr)
{
$index = 0;
foreach (array_keys($arr) as $key) {
if ($index++ != $key) return false;
}
return true;
}
逻辑很简单,关联数组的键不会全部都按照:0,1,2,3…的顺序递增,如果它确实这样,那么和数值数组没有任何区别,相同处理即可。
网上有另外一种思路:将数组所有的键与一个(0,数组长度)的新数组求差,
温馨提示:答案为网友推荐,仅供参考
第1个回答 2017-10-25
孤云独去闲。