通过php检查这是什么类型的数组

时间:2013-10-10 20:24:44

标签: php arrays

我正在寻找一种简单的方法来查看这个数组:

array('apples', 'bananas');

是否是关联的,即key=>value。现在PHP会给你一些类似的东西:

array(2){
    [0]=>'apples'
    [1] => 'bananas'
}

如果你var_dump上面的数组。所以在理论上我有我的关联数组。但我要找的是看array('key' => 'some value', 'some_other_key' => 'some other value');是一个“真正的”关联数组,还是它只是一个常规数组。

我已经看到了一些关于这个问题的帖子,但他们的很多答案都非常复杂或写得不好甚至根本没有OO。

1 个答案:

答案 0 :(得分:1)

你的意思是你想要区分纯数字键控数组vs.串键控?

$string_keys = preg_grep('/\D/', array_keys($your_array));
if (count($string_keys) > 0) {
   echo "at least one non-numeric key - it\'s associative";
} else {
   echo "no non-numeric keys. it's a normal array";
}

简而言之:获取数组中的所有键,使用preg_grep函数在结果数组中搜索NON数字。如果你得到一个非零的匹配键,你就有了一个关联数组。