PHP 如何判断一个数组是一维还是多维数组?
如何判断一个数组是否为多维数组?
为了使用方便,我写了一个函数代码如下:
/**
* 是否为多维数组
* @param array $arr
* @return bool
*/
private function isMultipleArray(array &$arr): bool
{
if (count($arr) <= 0) {
return false;
}
if (count($arr) == count($arr, COUNT_RECURSIVE)) {
return false;
}
return true;
}
但是当我用这种数组测试的时候:
$testArr = [[],[]];
这个方法也就失效了,虽然这个数组没有数据,但它的确是二维数组!
所以,社区的高手们,有啥高招让它能够准确的判断?
最后项目代码修改:
/**
* 是否为多维数组
* @param array $arr
* @return bool
*/
private function isMultipleArray(array &$arr): bool
{
if (count($arr) <= 0) {
return false;
}
if (count($arr) == count($arr, COUNT_RECURSIVE)) {
foreach ($arr as $tempArr) {
if (is_array($tempArr)) {
return true;
}
}
return false;
}
return true;
}
推荐文章: