note 33796 deleted from function.print-r by aidan
| From: | aidan@php.net | 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);
}
}