首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 遞歸函數判斷陣列維度(一維、二維或多維)

     編輯:PHP 相關知識

函數實現

function getMaxDim($arr) {
    if (!is_array($arr)) {
        return 0;
    }
    $dimension = 0;
    foreach ($arr as $item) {
        $t = getMaxDim($item);
        if ($t > $dimension) {
            $dimension = $t;
        }
    }
    return $dimension + 1;
}

測試範例

$arr = array(
    'yiyi' => 1212,
    'haha' => array(
        'heihei' => array(array("a")),
        "b"
    )
);
echo getMaxDim($arr); // 輸出 4

原理解析

  • 標量值視為 0 維。
  • 陣列本身算 1 維,遞歸檢查每個元素的最大維度,取最大值 +1。
  • 適用於任意深度嵌套陣列。
注意:若陣列鍵值混雜索引與關聯,不影響維度計算。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved