从print_r()的输出中删除字符串“Array”

时间:2013-03-20 17:55:47

标签: php arrays string formatting

如何从print_r()中删除打印输出中的字符串“Array”? 我尝试过使用字符串替换,但它没有用。

示例输出:

    Array ( 
       [0] => Array (
               [id] => Classify318721363801824
               [classification] => 
                  Array ( 
                        [0] => Array ( 
                                    [Klasifikasi] => NonOpini 
                                    [Nilai] => 0.999946 ) 
                        [1] => Array ( 
                                    [Klasifikasi] => Opini 
                                    [Nilai] => 5.43418e-005 ) )

1 个答案:

答案 0 :(得分:1)

return flagTRUE函数设置print_r()(secont func arg)以将数组打印作为字符串返回,而不是使用str_replace替换所需的任何内容。

echo str_replace('Array','',print_r($arr,true));

我想你也想替换不需要的新行。这是我自己的func,可以很好地打印数组。

function aprint($arr, $return = false) {
    $wrap = '<div style=" white-space:pre; position:absolute; top:10px; left:10px; height:200px; width:100px; overflow:auto; z-index:5000;">';
    $wrap = '<pre>';
    $txt = preg_replace('/(\[.+\])\s+=>\s+Array\s+\(/msiU','$1 => Array (', print_r($arr,true));

    if ($return) return  $wrap.$txt.'</pre>';
    else echo $wrap.$txt.'</pre>';
}