通过 PHP 检查这是何种类型的数组
通过 PHP 检查这是何种类型的数组
这个问题在这里已经有答案:
我正在寻找一种简单的方法来查看此数组是否为关联数组:
array(\'apples\', \'bananas\');
即key=>value
。 现在PHP将给出如下内容:
array(2){ [0]=>'apples' [1] => 'bananas' }
如果您var_dump
上述数组。 因此,从理论上讲,我有了我的关联数组。 但我要找的是看看array(\'key\' => \'some value\', \'some_other_key\' => \'some other value\');
是否为“真正的”关联数组,还是只是普通的数组。
我在整个堆栈上看到了几篇文章,但他们的答案很复杂,写得很差,甚至根本不是面向对象的。
admin 更改状态以发布 2023年5月20日
您的意思是要区分纯数字键数组和字符串键数组吗?
$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 函数在结果键数组中搜索非数字项。如果匹配的键计数非零,则表示您有一个关联数组。