note 33796 added to function.print-r

From: Date: Tue, 08 Jul 2003 04:48:31 +0000
Subject: note 33796 added to function.print-r
Groups: php.notes 
Request: Send a blank email to php-notes+get-51669@lists.php.net to get a copy of this message
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); } } ---- Manual Page -- http://www.php.net/manual/en/function.print-r.php Edit Note -- http://master.php.net/manage/user-notes.php?action=edit+33796 Delete Note -- http://master.php.net/manage/user-notes.php?action=delete+33796&report=yes Reject Note -- http://master.php.net/manage/user-notes.php?action=reject+33796&report=yes

« previous php.notes (#51669) next »