Ответы:
На 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()
будет просто выводить контент.
Будет вывод => "var"
Пример здесь.
var_dump(0.0);
какие выходы float(0)
против print_r(0.0);
которых выходов 0
(следовательно , приводящих к возможной путанице типа) ...
Если вы спрашиваете, когда следует использовать что, я обычно использую 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
не может вернуть любое значение, он может только вывести / распечатать значения, где print_r может вернуть информацию о переменной, если мы установим для второго параметра print_r
значение true . Возвращаемое значение print_r
будет в строковом формате.
Печатная информация print_r
гораздо больше в удобочитаемом формате, где var_dump
печатается необработанные значения.
print_r
Функция может использоваться во многих контекстах, где as var_dump
может использоваться в основном в целях отладки, поскольку она не может возвращать значение.
ob_start(); var_dump($var); $dump=ob_get_clean();
Я бы порекомендовал поместить выходные данные var_dump () или printr в предварительный тег при выводе в браузер.
print "<pre>";
print_r($dataset);
print "</pre>";
Даст более читаемый результат.
var_dump($var)
показывает подробности, предоставляя дополнительную информацию о
С большими массивами print_r может показать гораздо больше информации, чем полезно. Вы можете обрезать его так, показывая первые 2000 символов или столько, сколько вам нужно.
echo "<pre>" . substr(print_r($dataset, 1), 0, 2000) . "</pre>";
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>
ob_start(); var_dump($var); $dump=ob_get_clean();
print_r () и var_dump () - функции отладки массива, используемые в PHP для целей отладки. Функция print_r () возвращает ключи массива и его члены в виде массива ([ключ] = значение), тогда как функция var_dump () возвращает список массивов с ключами массива с типом данных и длиной, например, Array (array_length) {[0] = строка (1) 'а'}.
Мы можем передать несколько параметров с помощью var_dump, например:
var_dump("array1",$array1,"array2",$array2);