ホームページ  >  記事  >  バックエンド開発  >  PHP で入れ子になった配列の深さを決定するにはどうすればよいですか?

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

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-07 14:52:021013ブラウズ

How to Determine the Depth of Nested Arrays in PHP?

PHP でのネストされた配列の深さを決定する

配列の最大ネスト深さを決定することは、複雑なデータ構造を処理する場合に有用なツールになります。 。 PHP では、配列に要素として配列を含めることができ、潜在的に深い階層構造を作成できます。

深さの決定

ネストされた配列の深さを計算するための信頼できる方法PHP は 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;
}

このメソッドでは:

  • print_r() は人間の形式で配列を出力します。 -可読形式。インデントは配列のネストを示します。
  • 出力は行に分割されます。
  • 各行のインデントは (スペース 4 の倍数で) 計算されます。
  • 発生した最大インデントは、ネストの最も深いレベルを表します。
  • ネストの各レベルでは 2 レベルのインデント (開き括弧と閉じ括弧) が導入されるため、深さは (四捨五入された) 最大インデントを半分にすることによって計算されます。

この関数を実装すると、複雑さに関係なく、PHP 配列の深さを効率的に決定できます。

以上がPHP で入れ子になった配列の深さを決定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。