PHP判断数组的维数

/**
 * 判断数组为几维数组 可优化
 * @param array $array
 * @param int $count
 * @return int
 */
function foreachArray($array = [], $count = 1){

    if (!is_array($array)){
        return $count;
    }
    foreach ($array as $value){
        $count++;
        if (!is_array($value)){
            return $count;
        }
        return foreachArray($value, $count);
    }
}
### PHP中用于获取数组长度的函及其区别 在PHP中,`count` 和 `sizeof` 是两个用于获取数组长度的函。它们的功能是相同的,都可以用来统计一数组中的元素个[^1]。 #### 函定义与用法 `count` 函的语法如下: ```php int count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] ) ``` 该函返回数组中元素的量。如果传递的是递归数组,并且设置了模式参为 `COUNT_RECURSIVE`(或 1),它将递归地计算数组中所有子数组的元素量[^3]。 `sizeof` 函实际上是 `count` 的别名,其功能和用法完全一致: ```php int sizeof ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] ) ``` #### 区别与注意事项 尽管 `count` 和 `sizeof` 功能相同,但 `sizeof` 更加接近其他编程语言中的习惯用法(如 C 中的 `sizeof` 操作符)。然而,在PHP社区中,`count` 被更广泛使用,因为它更具可读性,能够更明确地表达“计”的意图[^2]。 #### 示例代码 以下是一个使用 `count` 和 `sizeof` 的示例: ```php <?php $colorList = array("apple" => "red", "grass" => "green", "sky" => "blue", "night" => "black", "wall" => "white"); // 使用 count 函 echo count($colorList); // 输出: 5 // 使用 sizeof 函 echo sizeof($colorList); // 输出: 5 // 递归计 $nestedArray = array(1, 2, array(3, 4), array(5, 6)); echo count($nestedArray, COUNT_RECURSIVE); // 输出: 6 ?> ``` 通过上述代码可以看出,无论使用 `count` 还是 `sizeof`,结果都是一致的。但在处理多数组时,可以通过设置第二个参来实现递归计[^3]。 ### 注意事项 - 在实际开发中,推荐优先使用 `count`,因为它的语义更加清晰。 - 如果需要递归计算多数组的元素总,请确保正确设置第二个参为 `COUNT_RECURSIVE`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值