php多维数组按顺序打印的方法?
程序员文章站
2023-12-31 10:10:04
...
就是像上面一张图片那样的,不定深度的多维数组,按照一定规律的缩进和换行的形式打印出来,就像下面那张图片那样的。
我自己写不出来,感觉有很多问题,希望帮我看看,谢谢。
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_export
和print_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这种效果。
@公子 打印出来是这样的
树型你要递归调用。