- HubPages»
- Technology»
- Computers & Software»
- Computer Science & Programming»
- Programming Languages
Modify/Set PHP print_r and var_export functions to return string
Introduction
PHP print_r function is one of my favorite functions in PHP and is most useful tool for various purposes such as debugging, printing variable data etc.. I used it mostly for printing out variables of array data type to know how and what is stored inside them to program/code as accordingly. In simple words, it prints out array (both simple and mulch-dimensional array) into properly formatted data containing "key->value" pairs for human readability.
Other functions similar to "print_r()" function in php are "var_dump()" and "var_export()" which does nearly same work as this one. here, below is the description about all these three functions.
- PHP print_r() function : print_r() displays information about a variable in a way that's readable by humans.
- PHP var_dump() function : This function displays structured information about one or more expressions that includes its type and value. Arrays and objects are explored recursively with values indented to show structure.
- PHP var_export() function : var_export() gets structured information about the given variable. It is similar to var_dump() with one exception: the returned representation is valid PHP code.
PHP print_r() and var_export() function support return values while var_dump() does not. return values supported functions are defaulted to output/print data on screen, if second argument is missing or not set to "true" (Boolean data type) or "1". Here below are the examples and output printed on screen by each function
Example Showing the Simple Usage of PHP print_r, var_dump and var_export Functions
<?php $myArray = array ('I' => 'Gals', 'Want' => 'Loves', 'Pleasure' => array ('Me', 'and You', 'but mostly Herself')); echo "------------------------------------------------\n"; echo "----------PHP print_r function output-----------\n"; echo "------------------------------------------------\n"; print_r($myArray); echo "------------------------------------------------\n"; echo "----------PHP var_dump function output----------\n"; echo "------------------------------------------------\n"; var_dump($myArray); echo "------------------------------------------------\n"; echo "----------PHP var_export function output--------\n"; echo "------------------------------------------------\n"; var_export($myArray); ?>
Above PHP Code will Output this on Screen
------------------------------------------------ ----------PHP print_r function output----------- ------------------------------------------------ Array ( [I] => Gals [Want] => Loves [Pleasure] => Array ( [0] => Me [1] => and You [2] => but mostly Herself ) ) ------------------------------------------------ ----------PHP var_dump function output---------- ------------------------------------------------ array(3) { ["I"]=> string(4) "Gals" ["Want"]=> string(5) "Loves" ["Pleasure"]=> array(3) { [0]=> string(2) "Me" [1]=> string(7) "and You" [2]=> string(18) "but mostly Herself" } } ------------------------------------------------ ----------PHP var_export function output-------- ------------------------------------------------ array ( 'I' => 'Gals', 'Want' => 'Loves', 'Pleasure' => array ( 0 => 'Me', 1 => 'and You', 2 => 'but mostly Herself', ), )
How to Set/Modify PHP print_r and var_export Functions to Return Values as String
Now, I'll show you how you can set this two functions to return values as string instead of outputting it on screen. It is very simple technique, we just need to provide and second function argument of both this functions to "true" or "1" (Boolean data type). here below is the example showing the usage of second parameter in this functions.
PHP Code Showing the Usage of Second Parameter in print_r and var_export Functions
<?php $myArray = array ('I' => 'Gals', 'Want' => 'Loves', 'Pleasure' => array ('Me', 'and You', 'but mostly Herself')); echo "------------------------------------------------\n"; echo "----------PHP print_r function output-----------\n"; echo "------------------------------------------------\n"; $printrARR = print_r($myArray, true); echo $printrARR; echo "------------------------------------------------\n"; echo "----------PHP var_export function output--------\n"; echo "------------------------------------------------\n"; $varexportARR = var_export($myArray, true); echo $varexportARR; ?>
This time we are using "echo" statement of PHP to output variable data on screen because function will not output it automatically due to usage of second function argument and setting it's value to Boolean type "true".
Output of above PHP Code
------------------------------------------------ ----------PHP print_r function output----------- ------------------------------------------------ Array ( [I] => Gals [Want] => Loves [Pleasure] => Array ( [0] => Me [1] => and You [2] => but mostly Herself ) ) ------------------------------------------------ ----------PHP var_export function output-------- ------------------------------------------------ array ( 'I' => 'Gals', 'Want' => 'Loves', 'Pleasure' => array ( 0 => 'Me', 1 => 'and You', 2 => 'but mostly Herself', ), )
And that's all, you need to know about on this topic. Hope, it is easier to understand.