我正在寻找一种简单的方法来查看这个数组:
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。
答案 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数字。如果你得到一个非零的匹配键,你就有了一个关联数组。