<?php
/** 
 * 浏览器友好的变量输出 
 * @param mixed $var 变量 
 * @param boolean $echo 是否输出 默认为True 如果为false 则返回输出字符串 
 * @param string $label 标签 默认为空 
 * @param boolean $strict 是否严谨 默认为true 
 * @return void|string 
 */  
function dump($var,&nbsp;$echo=true, $label=null,&nbsp;$strict=true) {  
    $label&nbsp;=&nbsp;($label === null) ? '' : rtrim($label) . ' ';  
    if (!$strict) {  
        if (ini_get('html_errors')) {  
            $output&nbsp;=&nbsp;print_r($var, true);  
            $output&nbsp;=&nbsp;&#39;&lt;pre&gt;&#39;&nbsp;.&nbsp;$label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';  
        } else {  
            $output&nbsp;=&nbsp;$label . print_r($var, true);  
        }  
    } else {  
        ob_start();  
        var_dump($var);  
        $output = ob_get_clean();  
        if (!extension_loaded('xdebug')) {  
            $output&nbsp;=&nbsp;preg_replace(&#39;/\]\=\&gt;\n(\s+)/m&#39;,&nbsp;&#39;]&nbsp;=&gt;&nbsp;&#39;,&nbsp;$output);  
            $output&nbsp;=&nbsp;&#39;&lt;pre&gt;&#39;&nbsp;.&nbsp;$label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';  
        }  
    }  
    if ($echo) {  
        echo($output);  
        return null;  
    }else  
        return $output;  
}
?>