PHP var dump () vs print r()
в чем разница между var_dump()
и print_r()
С точки зрения выплевывания массива как строки?
12 ответов
на 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()
может отображать типы данных.
Если вы спрашиваете, когда вы должны использовать что, я обычно использую print_r()
для отображения значений и var_dump()
при возникновении проблем с типами переменных.
var_dump
отображает структурированную информацию об объекте / переменной. Это включает в себя тип и ценностей. Как print_r
массивы рекурсируются и отступы.
print_r
выводит удобочитаемом информация о значениях с форматом, представляющим ключи и элементы для массивов и объектов.
самое главное, чтобы уведомление var_dump
будет выводить тип, а также значения а print_r
нет.
существенные различия между var_dump
и print_r
функции выводит информацию о переменной, а var_dump
несколько параметров, которые будут сброшены, где as print_r
может принимать два параметра, из которых первый параметр является переменной, которую вы хотите сбросить, а второй-логическое значение.
var_dump
не может вернуть какое-либо значение, оно может только сбрасывать / печатать значения, где as print_r может вернуть информацию о переменной, если мы установим второй параметр print_r
to правда. Возвращаемое значение print_r
будет строка.
информация, напечатанная на print_r
гораздо больше в читаемом формате, где as var_dump
печать исходных значений.
print_r
функция может использоваться во многих контекстах, где as var_dump
может использоваться в целях отладки в основном, поскольку он не может возвращать значение.
Я бы aditionally рекомендовал поместить вывод var_dump () или printr в pre тег при выводе в браузер.
print "<pre>";
print_r($dataset);
print "</pre>";
даст более четкий результат.
var_dump($var)
показывает подробные сведения, предоставляя дополнительные сведения о
- тип данных значения (включая элементы-потомки)
- количество элементов в переменной
- длина значения
с большими массивами print_r может отображать гораздо больше информации, чем полезно. Вы можете усечь его так, показывая первые 2000 символов или сколько вам нужно.
echo "<pre>" . substr(print_r($dataset, 1), 0, 2000) . "</pre>";
вложенностями() :-
- эта функция отображает структурированную информацию об одном или нескольких выражениях, включая их тип и значение. Массивы и объекты рекурсивно исследуются со значениями, отступами для отображения структуры.
- эта функция отображает номер элемента в переменной.
- эта функция отображает длину переменной.
- не удается вернуть значение только распечатать значение.
- это используется для отладки цель.
пример:
<?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 (): -
- печатает читабельную информацию о переменной.
- Не отображать номер элемента в переменной как var_dump ().
- не отображать длину переменной в переменной как var_dump ().
- верните значение, если мы установим для второго параметра значение 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>
print_r() и var_dump () - функции отладки массива, используемые в PHP для отладки. функция print_r () возвращает ключи массива и его члены в виде массива ([key] = value), тогда как функция var_dump () возвращает список массивов со своими ключами массива с типом данных и длиной, а также e.G Array(array_length){[0] = строка (1)'a'}.
мы можем передать несколько параметров с вложенностями например:
var_dump("array1",$array1,"array2",$array2);