可能重复:
PHP Arrays: A good way to check if an array is associative or sequential?如何检查数组是否列表?
你好:)
我想知道什么是最短的(最好的)的方式来检查,如果数组是
列表: array('a', 'b', 'c')
或者它的关联数组: array('a' => 'b', 'c' => 'd')
FYI:我需要这使自定义json_encode
功能
可能重复:
PHP Arrays: A good way to check if an array is associative or sequential?如何检查数组是否列表?
你好:)
我想知道什么是最短的(最好的)的方式来检查,如果数组是
列表: array('a', 'b', 'c')
或者它的关联数组: array('a' => 'b', 'c' => 'd')
FYI:我需要这使自定义json_encode
功能
function is_assoc($array){
return array_values($array)!==$array;
}
注意,它也将如数组索引返回TRUE但包含孔或不从0开始,或者按键没有排序。我通常更喜欢使用这个功能,因为它提供了最好的性能。 至于这些情况下,我更喜欢这种替代(只是要记住,它比上面的要慢近4次):
function is_assoc($array){
return !ctype_digit(implode('', array_keys($array)));
}
使用ksort()
作为Rinuwise评论是有点慢。
的可能重复的[PHP阵列:一个好方法,以检查是否一个数组是缔合或顺序?](http://stackoverflow.com/questions/173400/php-arrays-a-good-way-to-check -if-an-array-is-associative-or-sequential)为什么你需要构建一个自定义的'json_encode'函数?你在没有它的PHP版本吗?这种情况下有预制包装。 – 2011-03-25 11:26:07
'json_encode'的实现可供下载,因此可能检查并定制它们?这里有一个:http://www.boutell.com/scripts/jsonwrapper.html – Joost 2011-03-25 11:27:56
@Pekka我需要能够从PHP文件 – Teneff 2011-03-25 11:28:43