/** * var_dump var * * @param mixed $var 需要打印的变量 * @param bool $halt 是否在此中断 * */ function pr($var, $halt=1) { static $is_print_css=null; $backtrace = debug_backtrace(); if( $is_print_css === null ) { echo<<<EOF <style> body { color:#fff;background-color:#3c3c3c; } a { color:#94aefb; } .func { font-weight:bold;color:#1ad77c; } .trace_header { background-color:#515252;padding:5px;font-size:12px; } .var { color:#f9dd1d;margin:3 0 30 20px;border-left:2px solid #88a3f2;background-color:#515252;padding:5px;font-weight:500;font-size:14px; } .trace { border-left:3px solid #39c4dd;padding-left:2px; } </style> EOF; $is_print_css = true; } //函数堆栈 echo "<div class='trace_header'>"; $i=0; foreach ( $backtrace as $key=>$val ) { echo "<div class='trace' style='margin-left:".($i*50)."px;'>"; $path_info = pathinfo($val['file']); echo "<span class='func'>{$val['function']}()</span>, <a href='#' onclick='return false;' title=\"".h($val['file'])."\"><b>".($path_info['basename'])."</b></a>: <b>{$val['line']}</b>"; echo "</div>"; $i++; } echo "</div>"; //变量信息 echo "<pre class='var'><code>"; var_dump($var); echo '</pre></div>'; //echo "</div>"; if( $halt ) exit(); }