Как правильно использовать print_r или var_dump?

Я часто использую следующий фрагмент кода, когда я отлаживаю:

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>";