ホームページ >バックエンド開発 >PHPチュートリアル >PHP配列の再帰出力、その解決方法

PHP配列の再帰出力、その解決方法

WBOY
WBOYオリジナル
2016-06-13 12:55:46744ブラウズ

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'));

再帰を使用するには、次の文字列を入力します
ef063bec93c7d2fd366870dafe54b63b
ef063bec93c7d2fd366870dafe54b63b
ef063bec93c7d2fd366870dafe54b63b
名前3-年齢3
16b28748ea4df4d9c2150843fecfba68
名前2-年齢2
16b28748ea4df4d9c2150843fecfba68
名前1-年齢1
16b28748ea4df4d9c2150843fecfba68
$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 />
}
ef063bec93c7d2fd366870dafe54b63b
名前1-年齢1
ef063bec93c7d2fd366870dafe54b63b
名前2-年齢2
ef063bec93c7d2fd366870dafe54b63b
名前3-年齢3
16b28748ea4df4d9c2150843fecfba68
16b28748ea4df4d9c2150843fecfba68
16b28748ea4df4d9c2150843fecfba68
ef063bec93c7d2fd366870dafe54b63b
名前1-年齢1
ef063bec93c7d2fd366870dafe54b63b
名前2-年齢2
ef063bec93c7d2fd366870dafe54b63b
名前3-年齢3
16b28748ea4df4d9c2150843fecfba68
16b28748ea4df4d9c2150843fecfba68

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:正規表現のマッチング、その対処方法次の記事:正規表現のマッチング、その対処方法

関連記事

続きを見る