¿Cuál es la diferencia entre var_dump
, var_export
y print_r
?Diferencia entre var_dump, var_export e print_r
Respuesta
var_dump es para propósitos de depuración. var_dump
siempre imprime el 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 es para propósitos de depuración, también, pero no incluye el tipo del miembro. Es una buena idea utilizarla si conoce los tipos de elementos en su matriz, pero puede ser engañosa de lo contrario. print_r
de forma predeterminada imprime el resultado, pero permite devolverlo como una cadena utilizando el parámetro $return
opcional.
Array (
[0] =>
[1] =>
[2] => 42
[3] => Array ([0] => 42)
)
var_export impresiones válida de PHP. Útil si calculó algunos valores y quiere los resultados como una constante en otro script. Tenga en cuenta que var_export
no puede manejar ciclos de referencia/matrices recursivas, mientras que var_dump
y print_r
cheque por éstos. var_export
de forma predeterminada imprime el resultado, pero permite devolverlo como una cadena utilizando el parámetro $return
opcional.
array (
0 => '',
2 => false,
2 => 42,
3 => array (0 => '42',),
)
personalmente, creo que var_export
es el mejor compromiso de concisa y precisa.
Tenga en cuenta que 'var_export', debido a su naturaleza, morirá una muerte recursiva horrible en, bueno, arreglos recursivos. 'print_r' y' var_dump' (aunque no estoy seguro de esto último, ya que generalmente no lo uso) no tienen ese problema. Así que no 'var_export ($ _ GLOBALS);', por ejemplo (que se contiene a sí mismo). :) – pinkgothic
este comentario es importante leer, y realmente debe ser añadido a la respuesta – ftrotter
@ftrotter Siempre pensé que el comentario explicaría también que la curiosidad, pero hay que ir, añadido una breve nota para la respuesta. – phihag
var_dump
y var_export
refieren como esto (de la manual)
var_export() obtiene estructurado información sobre la variable dada. Es similar a var_dump() con una excepción: la representación regresado es válida de PHP.
Se diferencian de print_r
que var_dump
exporta más información, como el tipo de datos y el tamaño de los elementos.
- 1. php var_dump() vs print_r()
- 2. Ocultar campos de clases específicas de print_r o var_dump
- 3. difícil de entender print_r/var_dump para el objeto
- 4. Diferencia entre initWithNibName e initWithCoder
- 5. diferencia entre SDK e IDE
- 6. No var_dump() ni print_r() mostrarán información legible ... pero la misma salida confusa. ¿Por qué?
- 7. ¿Hay alguna diferencia entre RPC e IPC?
- 8. Diferencia entre default-initialize e value-initialize?
- 9. ¿La diferencia entre sys.stdout.write e print?
- 10. diferencia entre puntos numpy() e interior()
- 11. Diferencia entre devoluciones e impresión en python?
- 12. ¿Diferencia entre paquete e instalación de gema?
- 13. Diferencia entre EXISTS e IN en SQL?
- 14. ¿Diferencia entre nueva e inicialización en Smalltalk?
- 15. ¿Diferencia entre servicio e hilo en Android?
- 16. Diferencia entre objetos mutables e inmutables
- 17. Diferencia entre if -e y si -f
- 18. ¿Diferencia entre void main e int main?
- 19. Diferencia entre cvMat, Mat e IpImage
- 20. ¿Diferencia entre long e int en C#?
- 21. php var_dump ($ object) o print_r ($ object) en un archivo de registro
- 22. ¿Hay un equivalente print_r o var_dump en Ruby/Ruby on Rails?
- 23. ¿Cuál es el equivalente de JavaScript de var_dump o print_r en PHP?
- 24. Java: print_r?
- 25. cakephp registrar una matriz como var_dump
- 26. ¿Cuál es la diferencia entre IDREF e IDREFS en XSD?
- 27. Diferencia entre default-initialize e value-initialize en C++ 03?
- 28. ¿Cuál es la diferencia entre Scope_Identity(), Identity(), @@ Identity e Ident_Current()?
- 29. Diferencia entre addSubview e insertSubview en la clase UIView
- 30. diferencia entre generador de ID nativo e incremental tipo
A veces es más fácil pedir a alguien más para entender mejor a continuación, leer manuales. –
@ Your Common Sense S.O. las respuestas son a menudo más claras, más concisas, procesables y, básicamente, siempre más fáciles de referencia que el manual de PHP. –