本帖最后由 ecshop528 于 2013-01-21 12:54:22 编辑

解决方案 »

  1.   

    也可以不递归,走两次循环,一次输出<div>,另一次输出内容+</div>提醒:每个id值应该是唯一的,不能相同
      

  2.   


    $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的这样写好象能输入是什么意思
      

  3.   

    $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>我想输出这个结果。还是没得到效果。
      

  4.   

    静态变量可不是随便可用的$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>
      

  5.   

    我也写了一个$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>';
    }
            
    }