瀏覽器友好的變數輸出
阿新 • • 發佈:2018-11-07
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; }