可能重複:
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