php var_dump() frente a print_r()
¿Cuál es la diferencia entre var_dump()
y print_r()
en términos de escupir una matriz como una cadena?
La var_dump
función muestra información estructurada sobre variables/expresiones, incluido su tipo y valor. . Las matrices se exploran de forma recursiva con valores sangrados para mostrar la estructura. También muestra qué valores de matriz y propiedades de objetos son referencias.
Muestra print_r()
información sobre una variable de una manera que sea legible por los humanos. Los valores de la matriz se presentarán en un formato que muestra claves y elementos . Se utiliza una notación similar para los objetos.
Ejemplo:
$obj = (object) array('qualitypoint', 'technologies', 'India');
var_dump($obj)
se mostrará debajo del resultado en la pantalla.
object(stdClass)#1 (3) {
[0]=> string(12) "qualitypoint"
[1]=> string(12) "technologies"
[2]=> string(5) "India"
}
Y print_r($obj)
se mostrará debajo del resultado en la pantalla.
stdClass Object (
[0] => qualitypoint
[1] => technologies
[2] => India
)
Más información
- var_volcado
- imprimir_r
Generalmente, print_r( )
la salida es más agradable, más concisa y más fácil de leer, es decir, más legible para los humanos, pero no puede mostrar tipos de datos.
Con print_r()
también puedes almacenar la salida en una variable:
$output = print_r($array, true);
lo cual var_dump()
no puede hacer. Sin embargo, var_dump()
puede mostrar tipos de datos.
var_dump()
le mostrará el tipo de objeto y su contenido.
Entonces obtendrás => (string)"var"
El ejemplo está aquí.
print_r()
simplemente generará el contenido.
Salida => "var"
El ejemplo está aquí.