PHPの多次元配列で次元数を推定する関数の紹介です。
[注意] 配列の最初の要素だけをチェックしていくので、すべての配列の次元が同じであること前提としています。
そもそも配列の次元数がバラバラ(C#でいうjagged array)であれば、今回紹介する関数は使えません。
<?php function getDimension(array $source) { if(is_array($source)) { return getDimension(reset($source)) + 1; } else { return 0; } } // 下記のような配列を引数で与えます。 $source[1]['A']['a'] = true; $source[2]['B']['a'] = true; $source[3]['A']['a'] = true; $source[4]['B']['a'] = true; // 結果は3になります。 getDimension($source);
コメント