var_dump()
的详细输出,不满意var_export()
或print_r()
的输出,因为它没有提供足够多的信息(例如缺少数据类型、长度等)。var_dump()
的彩色输出转换为人类可读的字符串输出,而不包括html标签,并包括var_dump()
的所有细节。var_dump()
,这意味着您安装了Xdebug,它会覆盖php的默认var_dump()
以添加html颜色。function dbg_var_dump($var)
{
ob_start();
var_dump($var);
$result = ob_get_clean();
return strip_tags(strtr($result, ['=>' => '=>']));
}
array (size=6)
'functioncall' => string 'add-time-property' (length=17)
'listingid' => string '57' (length=2)
'weekday' => string '0' (length=1)
'starttime' => string '00:00' (length=5)
'endtime' => string '00:00' (length=5)
'price' => string '' (length=0)
来自http://htmlexplorer.com/2015/01/assign-output-var_dump-print_r-php-variable.html:
var_dump and print_r functions can only output directly to browser. So the output of these functions can only retrieved by using output control functions of php. Below method may be useful to save the output.
function assignVarDumpValueToString($object) { ob_start(); var_dump($object); $result = ob_get_clean(); return $result; }
ob_get_clean() 只能清除最后输入到内部缓冲区的数据。因此,如果您有多个条目,则 ob_get_contents 方法将非常有用。
来自上述相同来源:
function varDumpToErrorLog( $var=null ){
ob_start(); // start reading the internal buffer
var_dump( $var);
$grabbed_information = ob_get_contents(); // assigning the internal buffer contents to variable
ob_end_clean(); // clearing the internal buffer.
error_log( $grabbed_information); // saving the information to error_log
}
长字符串:只需使用echo($var);
而不是dump($var);
。
对象或数组:var_dump('<pre>'.json_encode($var).'</pre>);'