Version: 1.0
Type: Function
Category: Other
License: GNU General Public License
Description: These are two small functions which output
variable type and content in a nice formatted way. Actually it uses var_dump(), but encloses the outtput in <hr>’s and uses a
fixed-width font. Arrays are parsed recursively and every new instance is indented by a given number of ’s.
It only ‘debugs’ if a variable named $debug is set to ‘true’, so you can easily switch on or off the output globally.
//*********************************************************************************** // array_recurse & debug // debug output a var // by rdiger reinhardt - [email protected] //*********************************************************************************** function array_recurse($item, $spacer = " ") { // increase spacer $var_sign = "<b><i><font color='#000080'>Array(" . sizeof($item) . ")</font></i></b>"; if (strlen($spacer) != 1) { $spacer .= str_repeat(" ", strlen(key($item)) + 12); } else { $spacer = str_repeat(" ", strlen(strip_tags($var_sign))); } echo $var_sign . "<br>n"; // walk through the array... foreach($item as $key => $value) { // ...and start another recursion, if the value is an array again... if (is_array($value)) { echo $spacer; echo "[<font color='#CA0000'>$key</font>] => "; array_recurse($value, $spacer); } // ...or simply output the var. else { echo $spacer; echo "[<font color='#CA0000'>$key</font>] => "; // special handling for booleans... if (gettype($value) == boolean) { $dsp_value = "false"; if ($value) { $dsp_value = "true"; } echo "<font color='#408080'> bool(" . $dsp_value . ")</font>"; } else { echo "<font color='#408080'>" . gettype($value) . " '" . $value . "'</font>"; } echo "<br>n"; } } echo "<br>n"; } function debug($var, $dsp_text = "[debug output]") { GLOBAL $debug; // debug mode set? if ($debug) { echo "<font face='courier new, courier' size='-1'>n"; echo "<hr size='1' noshade><b>$dsp_text: </b><br>n"; // if the var is an array, recurse... if (is_array($var)) { array_recurse($var); } // ...or else dump the var. else { var_dump($var); } echo "<br><hr size='1' noshade>n"; echo "</font>n"; } }