note 33796 deleted from function.print-r by aidan

From: Date: Mon, 11 Oct 2004 13:06:29 +0000
Subject: note 33796 deleted from function.print-r by aidan
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-78336@lists.php.net to get a copy of this message
Note Submitter: php at cyberknet dot net ---- I found it necessary to rewrite the print_r function as the return syntax was available on the system I was using. For those interested, the following function returns or prints the same output as print_r, and takes the same syntax: function print_readable($pr_var, $pr_ret = false, $pr_level = 0) { $pr_prefix = str_repeat(" ", $pr_level * 4); if ((is_array($pr_var)) or (is_object($pr_var))) { if ($pr_level == 0) { $pr_base = true; if (is_array($pr_var)) { $pr_ret = $pr_prefix . "Array\n"; } else { $pr_ret = $pr_prefix . get_class($pr_var) . " Object\n"; } $pr_ret .= $pr_prefix . "(\n"; $pr_level += 1; $pr_prefix = str_repeat(" ", ($pr_level) * 4); } else { $pr_base = false; $pr_level += 1; $pr_prefix = str_repeat(" ", ($pr_level) * 4); $pr_ret .= $pr_prefix . "(\n"; $pr_level += 1; $pr_prefix = str_repeat(" ", ($pr_level) * 4); } foreach($pr_var as $pr_var_key=>$pr_var_value) { $pr_ret .= $pr_prefix . '[' . $pr_var_key . "] => "; if (is_array($pr_var_value)) { $pr_ret .= "Array\n"; $pr_ret .= print_readable($pr_var_value, $pr_print, $pr_level); } elseif (is_object($pr_var_value)){ $pr_ret .= get_class($pr_var_value) . " Object\n"; $pr_ret .= print_readable($pr_var_value, $pr_print, $pr_level); } else { $pr_ret .= $pr_var_value."\n"; } } $pr_level -= 1; $pr_prefix = str_repeat(" ", ($pr_level) * 4); $pr_ret .= $pr_prefix . ")\n\n"; if ($pr_base = false) $pr_level -= 1; } else { $pr_ret = $pr_prefix."$var\n"; } if (($level = 0) and ($ret == true)) { return($pr_ret); } else { print($pr_data); return($pr_ret); } }

« previous php.notes (#78336) next »