検索

ホームページ  >  に質問  >  本文

php多维数组按顺序打印的方法?

就是像上面一张图片那样的,不定深度的多维数组,按照一定规律的缩进和换行的形式打印出来,就像下面那张图片那样的。

我自己写不出来,感觉有很多问题,希望帮我看看,谢谢。

function self_print($array,$count = 0)
{
    $output = '';

    while(list($key,$value) = each($array))
   {
       $output .= str_repeat('  ',$count).$key.'=>';
       if(is_array($value))
       {
           $count++;


           $output .= '<br/>';

           $tmp = self_print($value,$count);
           $output .= $tmp;
        }
        else
        {

            $output .= $value; 
        }
    $output .= '<br/>';
}
return $output;
}
巴扎黑巴扎黑2897日前501

全員に返信(4)返信します

  • PHP中文网

    PHP中文网2017-04-10 15:20:15

    如果是要图一的话可以试试var_exportprint_r,如果是要图二的话用下面的函数吧。

    function printArrayRecursive($array, $return = false) {
        $html = "<ul>";
        foreach($array as $key => $arr) {
            $html .= "<li>";
            if( is_array( $arr ) ) {
                $html .= "<p>$key => </p>";
                $html .= printArrayRecursive( $arr, true );
            } else $html .= "<p>$key => $arr</p>";
            $html .= "</li>";
        }
        $html .= "</ul>";
        if( $return ) return $html;
        else echo $html;
    }
    

    返事
    1
  • 怪我咯

    怪我咯2017-04-10 15:20:15

    不在乎里面有数据类型输出,就试一下

    echo '<pre>';
    echo print_r($a);
    echo '</pre>';
    

    或者

    echo '<pre>';
    echo json_encode($a);
    echo '</pre>';
    

    json那种会输出

    实际上是用css控制的,因此,你将css样式 copy到你的项目,然后在使用给相应字段加上class就能达到jsonview这种效果。

    返事
    0
  • 高洛峰

    高洛峰2017-04-10 15:20:15

    @公子 打印出来是这样的

    返事
    0
  • ringa_lee

    ringa_lee2017-04-10 15:20:15

    树型你要递归调用。

    返事
    0
  • キャンセル返事