1 /**
2 * 浏览器友好的变量输出
3 * @param mixed $var 变量
4 * @param boolean $echo 是否输出 默认为True 如果为false 则返回输出字符串
5 * @param string $label 标签 默认为空
6 * @param boolean $strict 是否严谨 默认为true
7 * @return void|string
8 */
9 function dump($var, $echo=true, $label=null, $strict=true) {
10 $label = ($label === null) ? '' : rtrim($label) . ' ';
11 if (!$strict) {
12 if (ini_get('html_errors')) {
13 $output = print_r($var, true);
14 $output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';
15 } else {
16 $output = $label . print_r($var, true);
17 }
18 } else {
19 ob_start();
20 var_dump($var);
21 $output = ob_get_clean();
22 if (!extension_loaded('xdebug')) {
23 $output = preg_replace('/\]\=\>\n(\s+)/m', '] => ', $output);
24 $output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';
25 }
26 }
27 if ($echo) {
28 echo($output);
29 return null;
30 }else
31 return $output;
32 }