0
我正在使用var_export將錯誤發生時將輸出轉儲到日誌。然而,由於結果是純文本的,我沒有機會通過像krumo這樣的庫來推送它,所以我可以交互式地探索輸出。var_export美化器/可視化器
人們有什麼方法可以使var_export文本更具可讀性?
我正在使用var_export將錯誤發生時將輸出轉儲到日誌。然而,由於結果是純文本的,我沒有機會通過像krumo這樣的庫來推送它,所以我可以交互式地探索輸出。var_export美化器/可視化器
人們有什麼方法可以使var_export文本更具可讀性?
這裏是我的功能,它可以很好地用於多維數組:
function VE($varname, $varval, $short_syntax=true, $tag = ' ', $comma='', $end_line="\r\n") {
$res = '';
if($short_syntax){
$begin_array = '[';
$end_array = ']';
} else {
$begin_array = 'array(';
$end_array = ')';
}
$arr = explode('/',$varname);
$dim =count($arr)-1;
$lastKey = end($arr);
if (! is_array($varval)){
if(is_string($varval)) $varval = "'$varval'";
$res .= str_repeat($tag,$dim) . $lastKey . ' => ' . $varval . $comma . $end_line;
}else{
$res .= str_repeat($tag,$dim) . $lastKey . ' => ' . $begin_array . $end_line;
$count_varval = 0;
$dim_varval = count($varval);
foreach ($varval as $key => $val){
$count_varval++;
if($count_varval<$dim_varval) $commma=','; else $commma='';
if(is_string($key)) $key = "'$key'";
$res .= VE ($varname . "/" . $key , $val, $short_syntax, $tag, $commma);
}
$res .= str_repeat($tag,$dim) . $end_array . $comma . $end_line;
}
return $res;
}
$bigarray = array(); // your array
$bb = VE ('$bigarray', $bigarray);
echo "<pre>$bb</pre>";
我希望它能幫助;)