I use the following snippet quite often when I am debugging:
echo "<pre>" . var_dump($var) . "</pre>";
And I find I usually get a nice readable output. But sometimes I just don't. I'm particularly vexed at the moment by this example:
<?php
$username='xxxxxx';
$password='xxxxxx';
$data_url='http://docs.tms.tribune.com/tech/tmsdatadirect/schedulesdirect/tvDataDelivery.wsdl';
$start=gmdate("Y-m-d\TH:i:s\Z",time());
$stop =gmdate("Y-m-d\TH:i:s\Z",time()+3600*24);
$client = new SoapClient($data_url, array('exceptions' => 0,
'user_agent' => "php/".$_SERVER[SCRIPT_NAME],
'login' => strtolower($username),
'password' => $password));
$data = $client->download($start,$stop);
print_r($data);
?>
I don't want to reveal my credentials of course, but I am told print_r in this case will do the same as my usual snippet when in fact neither print_r nor my snippet produce anything other than runon data with no formatting at all. How can I make it pretty?!
var_dump always shows you an array in formatted data, but too much extra stuff
var_dump($data);
But if you want formatted data, here you need to use <pre>
tags:
echo '<pre>';
print_r($data);
echo '</pre>';
var_dump() echos output directly, so if you want to capture it to a variable to provide your own formatting, you must use output buffers:
ob_start();
var_dump($var);
$s = ob_get_clean();
Once this is done the variable $s now contains the output of var_dump(), so we can safely use:
echo "<pre>" . $s . "</pre>";
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With