PHP 友好的dump

 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 }

来自于thinkphp的某个函数。

copy了几次,发现不能用,再测试下吧。

posted @ 2013-07-28 06:00  r3call  阅读(436)  评论(0编辑  收藏  举报