首页 > 解决方案 > 如何在 PHP 中检查我的数组是单数组还是多数组(数组内的数组)?

问题描述

我有两种类型的数组。

第一类

 $arr = [1,2,3];

第二种

$arr = [[1,2,3],[4,5,6],[7,8,9]];

如何检查我的阵列是单阵列还是多阵列。

我正在使用下面的代码,它总是给我多数组

 if(is_array($arr)){   
   echo "Multi Array"; 
 } else{   
   echo "SingleArray"; 
 }

标签: phparraysmultidimensional-array

解决方案


你在问你是否可以检查你的数组是多维的,为此,我不久前想出了一个函数;

<?php
function is_multidimensional(array $array)
{
    foreach ($array as $part)
    {
        if (is_array($part)) return true;
    }
    return false;
}

$is_md_array = is_multidimensional($myarray); // True if it is, false if not

没有什么可说的,这不能完全递归以进一步检查数组,但如果您需要多次这样做,这是一个好的开始


推荐阅读