首頁 >後端開發 >php教程 >php多维数组按顺序打印的方法?

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

WBOY
WBOY原創
2016-06-06 20:38:371162瀏覽

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

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

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

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

<code>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;
}
</code>

回复内容:

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

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

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

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

<code>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;
}
</code>

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

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

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

<code>echo '<pre class="brush:php;toolbar:false">';
echo print_r($a);
echo '
';

或者

<code>echo '<pre class="brush:php;toolbar:false">';
echo json_encode($a);
echo '
';

json那种会输出
php多维数组按顺序打印的方法?
实际上是用css控制的,因此,你将css样式 copy到你的项目,然后在使用给相应字段加上class就能达到jsonview这种效果。

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

@公子 打印出来是这样的

树型你要递归调用。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn