最新消息:

PHP函数第25款:浏览器友好的变量输出,便于调试时候使用Dump

PHP扩展函数 杨红伟 1027浏览 0评论

一:函数简介

我们在调试PHP的时候,常常用var_dump,echo,print_r来进行调试,但是这些函数常常只显示一行,只有查看源代码的时候,才能比较直观的显示。现在我们提供一调试的函数 dump,这款函数可以非常方便的进行调试。它的名字为Dump。

演示地址: http://www.ijquery.cn/phpfunction/Dump/demo1.php

下载地址: http://www.ijquery.cn/phpfunction/Dump/Dump.zip

二:函数应用

1、直接使用

$a = array (1, 2, array ("a", "b", "c"));
var_dump ($a);

返回的结果是:

2、带参数使用

$a = array (1, 2, array ("a", "b", "c"));
Dump($a,TRUE,"测试",FALSE);

返回的结果是:

三:函数源代码

/**
 * 浏览器友好的变量输出,便于调试时候使用
 *
 * @param     mixed   $var       要输出查看的内容
 * @param     bool    $echo      是否直接输出
 * @param     string  $label     加上说明标签,如果有,这显示"标签名:"这种形式
 * @param     bool    $strict    是否严格过滤
 * @return    string
 */
if ( ! function_exists('Dump'))
{
    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;
    }
}

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址