Intereting Posts
iOS 5- отправка json с использованием NSURLRequest и разбор в php через $ _POST Календар Google 403 Запрещенный обмен PHP-сервером на сервер Woocommerce: отображение веса продукта на странице корзины Отображение всех изображений из сообщения WordPress fwrite (): операция SSL завершилась неудачно с кодом 1. OpenSSL Сообщения об ошибках: \ nerror: 1409F07F: Подпрограммы SSL: SSL3_WRITE_PENDING: неудачная попытка записи в PHP Laravel вырывает поля из отношений Что более эффективно – сохранение журналов в базе данных или файлах sql? MySQL Пользовательская переменная в Doctrine и Symfony groupedFor – группировка объектов по датам Как я могу выполнять трудоемкую задачу после отправки ответа клиенту Функция PHP, чтобы избежать синтаксиса regexp MySQL Написание запроса в php, который получает информацию из двух разных таблиц Ловкость \ Utf8 \ Bootup вызывает проблемы с Laravel 4 Защищенные свойства OO PHP недоступны в цикле foreach? XML: установка значений элементов пространства имен

php var_dump () vs print_r ()

В чем разница между var_dump() и print_r() с точки зрения выплескивания массива как строки?

Функция var_dump отображает структурированную информацию о переменных / выражениях, включая ее тип и значение . Массивы исследуются рекурсивно со значениями, отступающими для отображения структуры. Он также показывает, какие значения массива и свойства объекта являются ссылками.

print_r() отображает информацию об переменной таким образом, чтобы ее читали люди. значения массива будут представлены в формате, который отображает ключи и элементы . Аналогичные обозначения используются для объектов.

Пример:

 $obj = (object) array('qualitypoint', 'technologies', 'India'); 

var_dump($obj) будет отображаться ниже вывода на экране.

 object(stdClass)#1 (3) { [0]=> string(12) "qualitypoint" [1]=> string(12) "technologies" [2]=> string(5) "India" } 

И, print_r($obj) будет отображаться ниже вывода на экране.

 stdClass Object ( [0] => qualitypoint [1] => technologies [2] => India ) 

Больше информации

  • var_dump
  • print_r

Как правило, вывод print_r( ) более приятный, более сжатый и более легкий для чтения, а также более понятный для человека, но не способный отображать типы данных.

С помощью print_r() вы также можете сохранить вывод в переменной:

 $output = print_r($array, true); 

которые var_dump() не может сделать. Однако var_dump() может отображать типы данных.

var_dump() покажет вам тип вещи, а также то, что в ней.

Итак, вы получите => [string] "var" Пример здесь.

print_r() будет просто выводить содержимое.

Пример : output => var.

Если вы спрашиваете, когда вы должны использовать что-то, я обычно использую print_r() для отображения значений и var_dump() когда возникают проблемы с типами переменных.

var_dump отображает структурированную информацию об объекте / переменной. Это включает тип и значения. Как и массивы print_r , рекурсия и отступ.

print_r отображает читаемую человеком информацию о значениях с форматом, представляющим ключи и элементы для массивов и объектов.

Самое главное отметить, что var_dump будет выводить тип, а также значения, а print_r – нет.

Я бы рекомендовал поместить вывод var_dump () или printr в предварительный тег при выводе в браузер.

 print "<pre>"; print_r($dataset); print "</pre>"; 

Дает более читаемый результат.

Значительные различия между var_dump и print_r

обе функции выгружают информацию о переменной , но var_dump несколько параметров, которые будут сбрасываться, где, поскольку print_r может принимать два параметра, из которых первым параметром является переменная, которую вы хотите сбросить, а вторая – логическое значение.

var_dump не может вернуть какое-либо значение, он может только выгружать / печатать значения, где print_r может возвращать информацию о переменной, если мы установим второй параметр print_r в true . Возвращаемое значение print_r будет в строчном формате.

Информация, напечатанная print_r , намного больше в читаемом формате, где var_dump печатает необработанные значения.

Функция print_r может использоваться во многих контекстах, где var_dump может использоваться в целях отладки в основном потому, что он не может вернуть значение.

var_dump($var) показывает подробные данные, предоставляя дополнительную информацию о

  • тип данных значения (включая элементы потомка)
  • количество элементов в переменной
  • длина значения

С большими массивами print_r может отображать гораздо больше информации, чем полезно. Вы можете обрезать его так, показывая первые 2000 символов или сколько угодно вам.

  echo "<pre>" . substr(print_r($dataset, 1), 0, 2000) . "</pre>"; 

print_r () и var_dump () – это функции отладки Array, используемые в PHP для целей отладки. Функция print_r () возвращает ключи массива и его элементы как Array ([key] = value), тогда как функция var_dump () возвращает список массивов с его ключами массива с типом и длиной данных, например Array (array_length) {[0] = string (1) 'а'}.

var_dump (): –

  1. Эта функция отображает структурированную информацию об одном или нескольких выражениях, которые включают его тип и значение. Массивы и объекты исследуются рекурсивно со значениями, отступающими для отображения структуры.
  2. Эта функция отображает число элементов в переменной.
  3. Эта функция отображает длину переменной.
  4. Не удается вернуть значение только для печати значения.
  5. это используется для целей отладки.

Пример :-

 <?php $a = array(1, 2, array("a", "b", "c")); var_dump($a); ?> 

вывод :-

  array(3) { [0]=> int(1) [1]=> int(2) [2]=> array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" } } 

print_r (): –

  1. Распечатывает удобочитаемую информацию о переменной.
  2. Не отображать число элементов в переменной как var_dump ().
  3. Не показывать длину переменной в переменной как var_dump ().
  4. Верните значение, если мы установим второй параметр в true в printf_r ().

Пример :-

 <pre> <?php $a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z')); print_r ($a); ?> </pre> 

Вывод:-

 <pre> Array ( [a] => apple [b] => banana [c] => Array ( [0] => x [1] => y [2] => z ) ) </pre>