php数组递归输出 本帖最后由 ecshop528 于 2013-01-21 12:54:22 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 也可以不递归,走两次循环,一次输出<div>,另一次输出内容+</div>提醒:每个id值应该是唯一的,不能相同 $ar = array ( '0' => array ( 'name' => 'name1', 'age' => 'age1' ), '1' => array ( 'name' => 'name2', 'age' => 'age2' ), '2' => array ( 'name' => 'name3', 'age' => 'age3' ) );function deep_child($arr, $index) { $html = ''; if (! empty ( $arr [$index] )) { $html .= '<DIV id="a">'; $html .= deep_child ( $arr, $index + 1 ); $html .= $arr [$index] ['name'] . "-" . $arr [$index] ['age']; $html .= '</DIV>'; } return $html;}$html = deep_child ( $ar, 0 );echo htmlentities ( $html );不知道LZ的这样写好象能输入是什么意思 $ar[0] = array('0'=>array('name'=>'name1','age'=>'age1'),'1'=>array('name'=>'name2','age'=>'age2'),'2'=>array('name'=>'name3','age'=>'age3'));$ar[1] = array('0'=>array('name'=>'name1','age'=>'age1'),'1'=>array('name'=>'name2','age'=>'age2'),'2'=>array('name'=>'name3','age'=>'age3'));for($i=0;$i<2;$i++){ echo deep_child($ar[$i]); }function deep_child($ar = array()){ $str = ''; static $i=0; if($ar[$i]){ $str.= '<div id="a">'; $str.= $ar[$i]['name']."-".$ar[$i]['age']; $i++; $str.=deep_child($ar); $str.= '</div>'; } return $str;}<div id="a"><div id="a"><div id="a">name3-age3</div>name2-age2</div>name1-age1</div><div id="a"><div id="a"><div id="a">name3-age3</div>name2-age2</div>name1-age1</div>我想输出这个结果。还是没得到效果。 静态变量可不是随便可用的$ar[0] = array('0'=>array('name'=>'name1','age'=>'age1'),'1'=>array('name'=>'name2','age'=>'age2'),'2'=>array('name'=>'name3','age'=>'age3'));$ar[1] = array('0'=>array('name'=>'name1','age'=>'age1'),'1'=>array('name'=>'name2','age'=>'age2'),'2'=>array('name'=>'name3','age'=>'age3'));for($i=0;$i<2;$i++){ echo deep_child($ar[$i]); }function deep_child($ar = array(), $i=0){ $str = '';// static $i=0; if(isset($ar[$i])){ $str.= '<div id="a">'.PHP_EOL; $str.= $ar[$i]['name']."-".$ar[$i]['age'].PHP_EOL; $i++; $str.=deep_child($ar, $i); $str.= '</div>'.PHP_EOL; } return $str;}<div id="a">name1-age1<div id="a">name2-age2<div id="a">name3-age3</div></div></div><div id="a">name1-age1<div id="a">name2-age2<div id="a">name3-age3</div></div></div> 我也写了一个$ar = array('0'=>array('name'=>'name1','age'=>'age1'),'1'=>array('name'=>'name2','age'=>'age2'),'2'=>array('name'=>'name3','age'=>'age3'));deep_child($ar);function deep_child($ar = array()){ if (count($ar)) { echo '<div id="a">'; $e = array_pop($ar); deep_child($ar); echo $e['name'].'-'.$e['age']; echo '</div>'; } } 求一正则 请教PHP中,是否有这样的方法。 MySQL Enterprise Server不再开源,会多大程度上影响了php的发展。??? 寻求学习php之道 自动发邮件 新菜鸟的问题,请大家帮忙!!!! 下载系统的问题 怎样控制<td>……</td>之间的格式? 一个新手的问题 救救小白 请问如何比较时间? 求助:Fatal error: Class 'XmlLib_xmlParser' not found
$ar = array (
'0' => array (
'name' => 'name1',
'age' => 'age1'
),
'1' => array (
'name' => 'name2',
'age' => 'age2'
),
'2' => array (
'name' => 'name3',
'age' => 'age3'
)
);
function deep_child($arr, $index) {
$html = '';
if (! empty ( $arr [$index] )) {
$html .= '<DIV id="a">';
$html .= deep_child ( $arr, $index + 1 );
$html .= $arr [$index] ['name'] . "-" . $arr [$index] ['age'];
$html .= '</DIV>';
}
return $html;
}
$html = deep_child ( $ar, 0 );
echo htmlentities ( $html );不知道LZ的这样写好象能输入是什么意思
$ar[1] = array('0'=>array('name'=>'name1','age'=>'age1'),'1'=>array('name'=>'name2','age'=>'age2'),'2'=>array('name'=>'name3','age'=>'age3'));
for($i=0;$i<2;$i++){
echo deep_child($ar[$i]);
}
function deep_child($ar = array()){
$str = '';
static $i=0;
if($ar[$i]){
$str.= '<div id="a">';
$str.= $ar[$i]['name']."-".$ar[$i]['age'];
$i++;
$str.=deep_child($ar);
$str.= '</div>';
}
return $str;
}
<div id="a">
<div id="a">
<div id="a">
name3-age3
</div>
name2-age2
</div>
name1-age1
</div><div id="a">
<div id="a">
<div id="a">
name3-age3
</div>
name2-age2
</div>
name1-age1
</div>我想输出这个结果。还是没得到效果。
$ar[1] = array('0'=>array('name'=>'name1','age'=>'age1'),'1'=>array('name'=>'name2','age'=>'age2'),'2'=>array('name'=>'name3','age'=>'age3'));
for($i=0;$i<2;$i++){
echo deep_child($ar[$i]);
}
function deep_child($ar = array(), $i=0){
$str = '';
// static $i=0;
if(isset($ar[$i])){
$str.= '<div id="a">'.PHP_EOL;
$str.= $ar[$i]['name']."-".$ar[$i]['age'].PHP_EOL;
$i++;
$str.=deep_child($ar, $i);
$str.= '</div>'.PHP_EOL;
}
return $str;
}<div id="a">
name1-age1
<div id="a">
name2-age2
<div id="a">
name3-age3
</div>
</div>
</div>
<div id="a">
name1-age1
<div id="a">
name2-age2
<div id="a">
name3-age3
</div>
</div>
</div>
deep_child($ar);
function deep_child($ar = array()){
if (count($ar))
{
echo '<div id="a">';
$e = array_pop($ar);
deep_child($ar);
echo $e['name'].'-'.$e['age'];
echo '</div>';
}
}