When developing for WordPress (and anything in PHP in-fact), it can be incredibly useful to be able to dump values. Yes, there’s a function for that called var_dump
, which is great… if you’re not dealing with anything complex. As soon as you output anything more complex such any type of array, object, or class instance, it’s much more difficult to read the output of var_dump
on it. There are no line breaks, indents, anything to help make heads or tails out of it.

Using var_export
That’s where var_export
comes in. It makes the output ready to be readable when printed, and it works on anything: arrays, objects, class instances, you name it. Here’s an example:
$posts = get_posts();
var_export( $posts, true );
Code language: PHP (php)
It’s important to set the second argument to true
, telling the function to echo the output, both for display on a web page and for logging purposes.
When executed in a plugin hook, say, init
, you should see the following input on every page of the site:

If you’re echoing var_export
, it’s important to encapsulate it with <pre></pre>
tags so whitespace is maintained and the output is prettified.
If you want to use var_export
for use cases such as logging and it’s not going to be output on a web page, then you don’t need to encapsulate it in <pre></pre>
tags. The dump should be logged in prettified format automatically.
In Conclusion
The var_export
PHP function is so useful, whether debugging any value, large or small. I have found functions like var_export
invaluable to keep in my toolbox and use them frequently.
Leave a Reply