PHP 配列再帰出力
この投稿は ecshop528 によって最終編集されました (2013-01-21 12:54:22)
$ar = array('0'=>array('name'=>'name1','age'=>'age1'),'1'=>array('name'=>'name2 ','年齢'=>'年齢2'),'2'=>array('名前'=>'名前3','年齢'=>'年齢3'));
再帰を使用するには、次の文字列を入力します
$ar = array('0'=>array('name'=>'name1','age'=>'age1'),'1'=>array('name'=>'name2','age'=>'age2'),'2'=>array('name'=>'name3','age'=>'age3'));<br />
deep_child($ar);<br />
function deep_child($ar = array()){<br />
static $str = '';<br />
static $i=0;<br />
<br />
if($ar[$i]){<br />
echo '<div id="a">';<br />
$s = $ar[$i]['name']."-".$ar[$i]['age'];<br />
$i++;<br />
deep_child($ar);<br />
echo $s;<br />
echo '</div>';<br />
<br />
}<br />
}
ログイン後にコピー
この方法で入力できるようですが、他の方法があるかどうかはわかりません。 。
-----解決策--------------------------------静的変数は気軽には利用できません
$ar[0] = array('0'=>array('name'=>'name1','age'=>'age1'),'1'=>array('name'=>'name2','age'=>'age2'),'2'=>array('name'=>'name3','age'=>'age3'));<br />
$ar[1] = array('0'=>array('name'=>'name1','age'=>'age1'),'1'=>array('name'=>'name2','age'=>'age2'),'2'=>array('name'=>'name3','age'=>'age3'));<br />
for($i=0;$i<2;$i++){<br />
echo deep_child($ar[$i]);<br />
<br />
}<br />
function deep_child($ar = array(), $i=0){<br />
$str = '';<br />
// static $i=0;<br />
<br />
if(isset($ar[$i])){<br />
$str.= '<div id="a">'.PHP_EOL;<br />
$str.= $ar[$i]['name']."-".$ar[$i]['age'].PHP_EOL;<br />
$i++;<br />
$str.=deep_child($ar, $i);<br />
<br />
$str.= '</div>'.PHP_EOL;<br />
<br />
}<br />
return $str;<br />
}
ログイン後にコピー