Respostas:
A var_dump
função exibe informações estruturadas sobre variáveis / expressões, incluindo seu tipo e valor . As matrizes são exploradas recursivamente com valores recuados para mostrar a estrutura. Também mostra quais valores da matriz e propriedades do objeto são referências.
Ele print_r()
exibe informações sobre uma variável de maneira legível por seres humanos. os valores da matriz serão apresentados em um formato que mostra chaves e elementos . Notação semelhante é usada para objetos.
Exemplo:
$obj = (object) array('qualitypoint', 'technologies', 'India');
var_dump($obj)
será exibido abaixo da saída na tela.
object(stdClass)#1 (3) {
[0]=> string(12) "qualitypoint"
[1]=> string(12) "technologies"
[2]=> string(5) "India"
}
E, print_r($obj)
será exibido abaixo da saída na tela.
stdClass Object (
[0] => qualitypoint
[1] => technologies
[2] => India
)
Mais informações
Geralmente, a print_r( )
saída é mais agradável, mais concisa e fácil de ler, também conhecida como legível por humanos, mas não pode mostrar tipos de dados.
Com print_r()
você também pode armazenar a saída em uma variável:
$output = print_r($array, true);
o que var_dump()
não pode fazer. No entanto, var_dump()
pode mostrar tipos de dados.
var_dump()
mostrará o tipo da coisa e o conteúdo dela.
Então você terá => (string)"var"
Exemplo está aqui.
print_r()
apenas produzirá o conteúdo.
Saída => "var"
Exemplo está aqui.
var_dump(0.0);
que saídas float(0)
vs print_r(0.0);
que saídas 0
(daí levando a possível tipo de confusão) ...
Se você está perguntando quando deve usar o quê, geralmente uso print_r()
para exibir valores e var_dump()
quando tiver problemas com tipos de variáveis.
var_dump
exibe informações estruturadas sobre o objeto / variável. Isso inclui tipo e valores. print_r
Matrizes semelhantes são recorrentes e recuadas.
print_r
exibe informações legíveis por humanos sobre os valores com um formato que apresenta chaves e elementos para matrizes e objetos.
O mais importante a ser observado é var_dump
o tipo de saída, bem como os valores, enquanto print_r
isso não ocorre.
Diferenças significativas entre var_dump
eprint_r
ambas as funções despejam informações sobre a variável , mas var_dump
vários parâmetros que serão despejados, onde print_r
dois parâmetros podem ser extraídos, dos quais o primeiro parâmetro é a variável que você deseja despejar e o segundo é um valor booleano.
var_dump
não pode retornar nenhum valor, apenas pode despejar / imprimir os valores em que, como print_r, pode retornar as informações da variável se definirmos o segundo parâmetro print_r
como true . O valor retornado de print_r
estará no formato de sequência .
As informações impressas por print_r
são muito mais em formato legível, onde são var_dump
impressos os valores brutos.
print_r
A função pode ser usada em muitos contextos, onde também var_dump
pode ser usada para fins de depuração, principalmente porque não pode retornar valor.
ob_start(); var_dump($var); $dump=ob_get_clean();
Eu recomendaria, adicionalmente, colocar a saída de var_dump () ou printr em uma tag pré ao enviar para um navegador.
print "<pre>";
print_r($dataset);
print "</pre>";
Dará um resultado mais legível.
var_dump($var)
mostra detalhes detalhados, fornecendo detalhes adicionais de
Com matrizes grandes, print_r pode mostrar muito mais informações do que as úteis. Você pode truncá-lo assim, mostrando os primeiros 2.000 caracteres ou quantos você precisar.
echo "<pre>" . substr(print_r($dataset, 1), 0, 2000) . "</pre>";
var_dump (): -
Exemplo: -
<?php
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>
resultado :-
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 (): -
Exemplo: -
<pre>
<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
print_r ($a);
?>
</pre>
Resultado:-
<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 () e var_dump () são funções de depuração de matriz usadas no PHP para fins de depuração. A função print_r () retorna as chaves da matriz e seus membros como Matriz ([chave] = valor), enquanto a função var_dump () retorna a lista de matrizes com suas chaves de matriz com tipo e comprimento de dados, bem como, por exemplo, Matriz (comprimento da matriz) {[0] = string (1) 'a'}.
Podemos passar vários parâmetros com var_dump como:
var_dump("array1",$array1,"array2",$array2);