当前位置:Gxlcms > PHP教程 > php多维数组按顺序打印的方法?

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

时间:2021-07-01 10:21:17 帮助过:1人阅读

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

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

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

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


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

回复内容:

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

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

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

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


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

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

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

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

echo '
';
echo print_r($a);
echo '
';

或者

echo '
';
echo json_encode($a);
echo '
';

json那种会输出

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

@公子 打印出来是这样的

树型你要递归调用。

人气教程排行