PHP でネストされた配列の深さを決定する
配列は PHP の多用途のデータ構造であり、要素を他の配列内に格納できます。この機能により、複雑なデータ編成が可能になりますが、特定の構造内で配列のネストの最大レベルを決定するのは困難な場合があります。
これに対処するには、配列の深さを計算する関数を考案して、ネストされた配列の最大レベル。配列にネストされた配列が含まれていない場合は 1 を返します。 1 つ以上のネストされた配列が含まれている場合は 2 を返します。
無限再帰の代替解決策:
配列の深さを見つける 1 つの方法は、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; }
このソリューションは、配列の深さを正確に決定し、再帰関数に関連する潜在的な落とし穴を回避します。
以上がPHP で入れ子になった配列の深さを計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。