Qual é a diferença entre var_dump, var_exporte print_r?
Qual é a diferença entre var_dump, var_exporte print_r?
Respostas:
var_dump é para fins de depuração. var_dumpsempre imprime o resultado.
// var_dump(array('', false, 42, array('42')));
array(4) {
[0]=> string(0) ""
[1]=> bool(false)
[2]=> int(42)
[3]=> array(1) {[0]=>string(2) "42")}
}
print_r também é para fins de depuração, mas não inclui o tipo de membro. É uma boa ideia usar se você conhece os tipos de elementos em sua matriz, mas pode ser enganador. print_rpor padrão, imprime o resultado, mas permite retornar como sequência usando o$returnparâmetroopcional
Array (
[0] =>
[1] =>
[2] => 42
[3] => Array ([0] => 42)
)
var_export imprime código php válido. Útil se você calculou alguns valores e deseja os resultados como constantes em outro script. Note-se quevar_exportnão pode lidar com ciclos de referência / matrizes recursivos, enquantovar_dumpeprint_rvá para estes. var_exportpor padrão, imprime o resultado, mas permite retornar como sequência usando o$returnparâmetroopcional
array (
0 => '',
1 => false,
2 => 42,
3 => array (0 => '42',),
)
Pessoalmente, acho que var_exporté o melhor compromisso conciso e preciso.
var_export, devido à sua natureza, sofrerá uma terrível morte recursiva em, bem, matrizes recursivas. print_re var_dump(embora não tenha muita certeza sobre o último, já que geralmente não o uso) não tem esse problema. Então não var_export($_GLOBALS);, por exemplo (que se contém). :)
var_dumpsaída. Pena que não permite retornar a saída como uma string. Como tal, posso me relacionar com o sentimento de @ iconoclast no comentário acima. Mas ter que optar var_exportpor var_dumpesse caso de uso é aceitável para mim. Para completar, observe esta solicitação de recurso relacionada .
var_dumpe var_exportrelacionar assim (do manual )
var_export () obtém informações estruturadas sobre a variável especificada. É semelhante ao var_dump () com uma exceção: a representação retornada é um código PHP válido.
Eles diferem do print_rque var_dumpexporta mais informações, como o tipo de dados e o tamanho dos elementos.