PHP 判断一个数组是否是二维数组

PHP · forecho · 于 7年前 发布 · 17055 次阅读

一遇到这个问题,你的第一想法可能就是先循环再用is_array判断对吧?这种方法有点 low,而且用到了循环有点负责化了。

下面我们来说一下新方法:

if (count($array)==count($array, 1)) {
    // 一维数组
} else {
    // 多维数组
}
  • count 第二个参数设为 COUNT_RECURSIVE(或 1),count() 将递归地对数组计数。对计算多维数组的所有单元尤其有用。
  • 这个参数默认值是 0。
  • count() 识别不了无限递归。

参考:http://php.net/manual/zh/function.count.php

共收到 7 条回复 PHP PHP基础用法
BigKuCha#15年前 0 个赞

?

fecommerce#25年前 0 个赞

PHP 判断一个数组是否是二维数组 ?

标题应该改为 : PHP 判断一个数组是否是 多多多多多 维数组 ?

sodowe666#35年前 0 个赞

is_array(current($array))这样行不

sodowe666#45年前 0 个赞

一般来说二维数组是统一的元素,取第一个元素判断是不是是数组应该就行了吧

lixing#55年前 0 个赞

判断是否是多维数组的好的方法

6楼 已删除.
qiyue#74年前 1 个赞

这个判断方法其实有点问题,请看如下代码:

<?php

$arr = [1, 23, []];
var_dump(count($arr)); //3
var_dump(count($arr, 1)); //3
添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册