確定 PHP 中嵌套數組的深度
數組是 PHP 中的通用資料結構,允許將元素儲存在其他數組中。此功能支援複雜的資料組織,但確定給定結構內數組嵌套的最大層級可能具有挑戰性。
為了解決這個問題,可以設計一個函數來計算陣列的深度,指示陣列的深度。嵌套數組的最大層數。如果數組不包含任何嵌套數組,則返回1;如果包含一個或多個嵌套數組,則返回2;
無限遞歸的替代解決方案:
找出陣列深度的一種方法是利用print_r() 檢查無限遞歸。此函數產生數組的字串表示形式,其輸出縮排可以揭示結構的深度。
function array_depth($array) { $max_indentation = 1; $array_str = print_r($array, true); $lines = explode("\n", $array_str); foreach ($lines as $line) { $indentation = (strlen($line) - strlen(ltrim($line))) / 4; if ($indentation > $max_indentation) { $max_indentation = $indentation; } } return ceil(($max_indentation - 1) / 2) 1; }
此解決方案可以準確地確定數組深度,避免與遞歸函數相關的潛在陷阱。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3