Heim > Backend-Entwicklung > PHP-Tutorial > php数组递归输出,该怎么解决

php数组递归输出,该怎么解决

WBOY
Freigeben: 2016-06-13 12:55:46
Original
720 Leute haben es durchsucht

php数组递归输出

本帖最后由 ecshop528 于 2013-01-21 12:54:22 编辑 $ar = array('0'=>array('name'=>'name1','age'=>'age1'),'1'=>array('name'=>'name2','age'=>'age2'),'2'=>array('name'=>'name3','age'=>'age3'));

想通过递归,输入以下字符串



name3-age3

name2-age2

name1-age1

$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 />
}
Nach dem Login kopieren


这样写好象能输入,不知道有没其他写法。。


------解决方案--------------------
静态变量可不是随便可用的
$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 />
}
Nach dem Login kopieren

name1-age1

name2-age2

name3-age3




name1-age1

name2-age2

name3-age3



Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage