В чем разница между 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 )
Больше информации
Как правило, вывод 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 (): –
Пример :-
<?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 (): –
Пример :-
<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>