【问题标题】:print array with proper indentation具有适当缩进的打印数组
【发布时间】:2015-01-13 09:42:35
【问题描述】:
foreach ( $custom_fields as $field_key => $field_values ) {
    foreach ( $field_values as $key => $value )
        echo $field_key . '<br>';
        echo '<pre>' , print_r( $value,true) , '</pre>';
}

虽然我使用带有&lt;pre&gt; 标签的print_r,但输出看起来像这样:

a:4:{i:0;s:6:"Casual";i:1;s:6:"Serene";i:2;s:6:"Unique";i:3;s:9:"Whimsical";}

不应该用适当的缩进垂直列出吗?我做错了什么?

【问题讨论】:

  • 使用 nl2br(print_r($custom_fields, TRUE));

标签: php arrays json pretty-print


【解决方案1】:

这是一个序列化的数组,使用unserialize()再转回一个数组:

foreach ( $custom_fields as $field_key => $field_values ) {
    foreach ( $field_values as $key => $value ) {
        $value = unserialize($value);
        echo $field_key . '<br/>';
        echo '<pre>' , print_r($value, true) , '</pre>';
    } 
}

它会是什么样子:

http://codepad.viper-7.com/5Rppb3

【讨论】:

  • 像@Nimbuz 例子一样把
     放到 foreach 中
  • @Nimbuz,是的,看看serialize/unserialize php.net
【解决方案2】:

你只能使用

    $value=unserialize($custom_fields); 
    echo '<pre>' ;    
    var_dump($value);
    echo '</pre>'; 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多