加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

浏览器友好的变量输出

发布时间:2020-05-30 19:52:08 所属栏目:PHP 来源:互联网
导读:PHP打印变量一般有echo、print_r、var_dump等方式,但是这些方式打印的变量在浏览器上显示的效果都不是很友好,所以一些PHP框架都会带有自己的打印变量的方法。这里我把ThinkPHP框

PHP打印变量一般有echo、print_r、var_dump等方式,但是这些方式打印的变量在浏览器上显示的效果都不是很友好,所以一些PHP框架都会带有自己的打印变量的方法。这里我把ThinkPHP框架打印变量的dump方法提取出来,自己平时测试代码打印变量可以用该方法,这样在浏览器上的显示效果更加友好。

/**
 * 浏览器友好的变量输出
 * @access public
 * @param  mixed       $var   变量
 * @param  boolean     $echo  是否输出(默认为 true,为 false 则返回输出字符串)
 * @param  string|null $label 标签(默认为空)
 * @param  integer     $flags htmlspecialchars 的标志
 * @return null|string
 */
function dump($var,$echo = true,$label = null,$flags = ENT_SUBSTITUTE)
{
    $label = (null === $label) ? '' : rtrim($label) . ':';
ob_start();
var_dump($var);
$output = preg_replace('/]=>n(s+)/m','] => ',ob_get_clean());

if (PHP_SAPI == 'cli') {
    $output = PHP_EOL . $label . $output . PHP_EOL;
} else {
    if (!extension_loaded('xdebug')) {
        $output = htmlspecialchars($output,$flags);
    }

    $output = '<pre>' . $label . $output . '</pre>';
}

if ($echo) {
    echo($output);
    return;
}

return $output;

}

$arr = [
['name' => 'itbsl','priority' => 23],['name' => 'jack','priority' => 3],['name' => 'rose','priority' => 12],['name' => 'pick','priority' => 45],['name' => 'binbin','priority' => 68],['name' => 'didi','priority' => 56789],['name' => 'abc','priority' => 0],];

dump($arr);

输出结果的样式为:

array(7) {
  [0] => array(2) {
    ["name"] => string(5) "itbsl"
    ["priority"] => int(23)
  }
  [1] => array(2) {
    ["name"] => string(4) "jack"
    ["priority"] => int(3)
  }
  [2] => array(2) {
    ["name"] => string(4) "rose"
    ["priority"] => int(12)
  }
  [3] => array(2) {
    ["name"] => string(4) "pick"
    ["priority"] => int(45)
  }
  [4] => array(2) {
    ["name"] => string(6) "binbin"
    ["priority"] => int(68)
  }
  [5] => array(2) {
    ["name"] => string(4) "didi"
    ["priority"] => int(56789)
  }
  [6] => array(2) {
    ["name"] => string(3) "abc"
    ["priority"] => int(0)
  }
}

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读