1. 程式人生 > >瀏覽器友好的變量輸出

瀏覽器友好的變量輸出

api access 好的 flag acc print 字符 pri 效果

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;
}

瀏覽器友好的變量輸出