by shigemk2

当面は技術的なことしか書かない

配列の階層を取得してみよう

「ねこまんま」 - プログラミングPHP:配列
組み込み関数で配列の階層を取得する関数がないので(あってもいいような気がするけど)
とりあえず上を参考にしてみました。

<?php
function getDimension($array)
{
  $cnt = 0;
  if (is_array($array)) {
    $cnt++;
  } else {
    return $cnt;
  }

  foreach ($array as $v) {
    $cnt += getDimension($v);
  }
  return $cnt;
}

$array[0][0][0][0] = 1;
print_r(getDimension($array)); // 4

$arr[0][0][0][0][0] = 1;
print_r(getDimension($arr)); // 5

ポイントは再帰を利用しているところですね。