Return information from PHP print_r instead of displaying it
Posted September 30th, 2008 in PHP
print_r is a useful PHP function for displaying the values of an array or object when debugging etc. Having been a PHP programmer since the days of PHP 3.x (and not having read the manual page for this function in years) I didn't realise this function had added the capability to return the information as well as print it from PHP 4.3.0 and only discovered this in the last few days. This post gives a brief overview of PHP's print_r function.
Let's say for example you have the following array:
$myarray = array( "wd" => "well done", "m" => "medium", "mr" => "medium rare", "r" => "rare" );
Doing this:
print_r($myarray);
will output this:
Array
(
[wd] => well done
[m] => medium
[mr] => medium rare
[r] => rare
)
If you want to instead suppress the output and return the array information into a variable (which could be emailed in an error report, for example) set the second optional parameter to print_r to true like so:
$info = print_r($myarray);
The output will now not be displayed and the example output above will instead be stored into the $info variable. This should work for any variable types. The following examples would also store the output from print_r into the $info variable instead of outputting to standard output.
$foo = "bar"; $info = print_r($foo, true); $info = print_r(some_function_call(), true); $foo = new some_class(); $info = print_r($foo);
It's really useful to be able to capture information like this using print_r because it means you can use it to store into error logs or send in an error email, as well as for debugging purposes. I only wish I'd known about the additional parameter when it first became available :)
Related posts:
- Create an array containing a range of numbers or letters with PHP (Monday, January 11th 2010)
- Listing MySQL tables with PHP (Thursday, April 9th 2009)
- Validating numbers with PHP (Tuesday, November 25th 2008)
- Intialise an array in PHP with default values (Tuesday, October 7th 2008)
Share or Bookmark
Share or Bookmark this page using the following services. You will need to have an account with the selected service in order to post links or bookmark this page.
Subscribe or Follow
Subscribe via RSS or email, or follow me on Facebook or Twitter below. The RSS icon takes you through to Feedburner where you can select the service or application to use.
