ホームページ > バックエンド開発 > PHPチュートリアル > PHP で入れ子になった配列の深さを計算するにはどうすればよいですか?

PHP で入れ子になった配列の深さを計算するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-08 05:05:01
オリジナル
780 人が閲覧しました

How Can I Calculate the Depth of Nested Arrays in PHP?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート