by shigemk2

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

PHPで再帰関数を作る

もう何次元かも分からないくらい長くネストされた配列があるとして、

$array[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0] = '(」・ω・)」うー!(/・ω・)/にゃー!';

この配列の要素を取り出したいときは、再帰を使うとよいでしょう。
こんな風に。

<?php
$array = array();
$array[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0] = '(」・ω・)」うー!(/・ω・)/にゃー!';

function hoge(&$array, &$hoges) {
  if(is_array($array[0])) {
    hoge($array[0], $hoges);
  } else {
    $hoges .= $array[0];
  }
  return $hoges;
}
$hoges = '';
print_r(hoge($array, $hoges));

?>

結果

(」・ω・)」うー!(/・ω・)/にゃー!

うまくいきましたね。

まあこんなデータ構造そのものがおかしいので、
素直に設計を見直したほうがよろしいかと。