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;
    }
                        
                                                    
                        
                                            
          
                    
                    
            
            
          
          
                关于 LearnKu
              
                    
                    
                    
 
推荐文章: