做调试时打印变量时,为了提高可读性,可能会这么写: echo '姓名:' . $name . '<br />' ,这么多冗余的信息,写起来非常别扭。ThinkPHP 中有一个友好变量输出的函数,我稍微精简了一下拿来用。
/**
* 友好的变量输出
* @param mixed $var 变量
* @param string $label 标签 默认为空
* @param boolean $strict 是否严谨 默认为false
* @return void|string
*/
function dump($var, $label = null, $strict = FALSE)
{
$label = ($label === null) ? '' : rtrim($label) . ' ';
if (!$strict)
{
if (ini_get('html_errors'))
{
$output = print_r($var, true);
$output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';
}
else
{
$output = $label . print_r($var, true);
}
}
else
{
ob_start();
var_dump($var);
$output = ob_get_clean();
if (!extension_loaded('xdebug'))
{
$output = preg_replace('/\]\=\>\n(\s+)/m', '] => ', $output);
$output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';
}
}
echo($output);
return null;
}