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);
コメント