記錄一個比較全面的輸出dump函數,摘自thinkphp
/**
* 瀏覽器友好的變量輸出
* @param mixed $var 變量
* @param boolean $echo 是否輸出 默認爲True 如果爲false 則返回輸出字符串
* @param string $label 標籤 默認爲空
* @param boolean $strict 是否嚴謹 默認爲true
* @return void|string
*/
function dump($var, $echo=true, $label=null, $strict=true) {
$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>';
}
}
if ($echo) {
echo($output);
return null;
}else
return $output;
}