PHP 配列にはネストされた配列を含めることができ、複雑な階層構造を作成できます。これらの配列内のネストの最大の深さを決定することは、データ分析と操作にとって不可欠です。
配列の深さを決定する 1 つのアプローチは、その要素を再帰的に走査することです。 、レベルの数を数えます。次の関数 array_ Depth() は、配列を入力として受け取り、その最大の深さを計算します。
function array_depth($array) { $max_depth = 0; foreach ($array as $element) { if (is_array($element)) { $depth = $array_depth($element); if ($depth > $max_depth) { $max_depth = $depth; } } } return $max_depth + 1; }
この関数内:
別の方法により、無限再帰の潜在的な問題が回避されます。これは、配列の構造を反映する print_r() の出力のインデントを利用します。以下の array_ Depth() 関数は、このアプローチを使用します。
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; }
以上が多次元 PHP 配列の深さを決定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。