插件窝 干货文章 php如何判断数组是几维数组

php如何判断数组是几维数组

数组 递归 maxDimension 维度 547    来源:    2025-03-18

在PHP中,判断一个数组是几维数组可以通过递归的方式来实现。以下是一个示例代码,用于判断数组的维度:

function getArrayDimension($array) {
    if (!is_array($array)) {
        return 0; // 如果不是数组,返回0
    }

    $maxDimension = 1; // 至少是1维数组

    foreach ($array as $element) {
        if (is_array($element)) {
            $dimension = getArrayDimension($element) + 1;
            if ($dimension > $maxDimension) {
                $maxDimension = $dimension;
            }
        }
    }

    return $maxDimension;
}

// 示例用法
$array1 = [1, 2, 3]; // 1维数组
$array2 = [[1, 2], [3, 4]]; // 2维数组
$array3 = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]; // 3维数组

echo getArrayDimension($array1); // 输出: 1
echo getArrayDimension($array2); // 输出: 2
echo getArrayDimension($array3); // 输出: 3

代码解释:

  1. getArrayDimension 函数用于递归地计算数组的维度。
  2. 如果传入的参数不是数组,则返回0。
  3. 初始化 $maxDimension 为1,因为至少是1维数组。
  4. 遍历数组中的每个元素,如果元素是数组,则递归调用 getArrayDimension 函数,并将结果加1。
  5. 如果递归得到的维度大于当前的 $maxDimension,则更新 $maxDimension
  6. 最后返回 $maxDimension,即数组的最大维度。

注意事项:

  • 该函数可以处理任意维度的数组。
  • 如果数组中包含非数组元素,这些元素不会影响维度的计算。

通过这种方式,你可以轻松判断一个数组是几维数组。