Я часто использую следующий фрагмент кода, когда я отлаживаю:
echo "<pre>" . var_dump($var) . "</pre>";
И я считаю, что обычно получаю хороший читаемый результат. Но иногда я просто этого не делаю. В настоящий момент я особенно досаду на этом примере:
<?php $username='xxxxxx'; $password='xxxxxx'; $data_url='http://docs.tms.tribune.com/tech/tmsdatadirect/schedulesdirect/tvDataDelivery.wsdl'; $start=gmdate("Ymd\TH:i:s\Z",time()); $stop =gmdate("Ymd\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); ?>
Я не хочу раскрывать свои учетные данные, конечно, но мне говорят, что print_r в этом случае будет делать то же самое, что и мой обычный фрагмент, если на самом деле ни print_r, ни мой фрагмент не производят ничего, кроме данных runon, без форматирования вообще. Как я могу сделать это довольно ?!
var_dump всегда показывает вам массив в форматированных данных, но слишком много лишних вещей
var_dump($data);
но если вы хотите отформатировать данные здесь, вам нужно использовать теги <pre>
echo '<pre>'; print_r($data); echo '</pre>';
var_dump используется, когда вы хотите получить более подробную информацию о любой переменной.
<?php $temp = "hello" ; echo var_dump($temp); ?>
он выводится как строка (5) «привет» означает, что он печатает тип данных переменной и длину строки, а также то, что является содержимым в переменной.
в то время как print_r (выражение $) используется для печати таких данных, как массив или любой другой тип данных объекта, который не может быть непосредственно напечатан с помощью инструкции echo.
var_dump () echos напрямую, поэтому, если вы хотите записать его в переменную, чтобы обеспечить собственное форматирование, необходимо использовать выходные буферы:
ob_start(); var_dump($var); $s = ob_get_clean();
Как только это будет сделано, переменная $ s теперь содержит выход var_dump (), поэтому может быть безопасно:
echo "<pre>" . $s . "</pre>";
Ну, print_r () используется для печати и массива, но для того, чтобы отобразить массив в хорошем виде, вам также нужны html-теги.
Просто выполните следующие действия:
echo "<pre>"; print_r($data); echo "</pre>";