• 浏览器友好的变量输出


    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('/]=>
    (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)
      }
    }
    
  • 相关阅读:
    004 cat、head、tail、vim、cp、mv、rm
    003 系统的结构目录、pwd、cd、ls、tree、mkdir、touch
    shell编程
    多线程
    接口(适配器)
    常用方法
    爬虫要具备的准则:
    知识点扫盲篇
    记录_20190628
    记录_20190626
  • 原文地址:https://www.cnblogs.com/itbsl/p/9924598.html
Copyright © 2020-2023  润新知