php var_dump() frente a print_r()

Resuelto ina asked hace 54 años • 14 respuestas

¿Cuál es la diferencia entre var_dump()y print_r()en términos de escupir una matriz como una cadena?

ina avatar Jan 01 '70 08:01 ina
Aceptado

La var_dumpfunció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
Sarfraz avatar Aug 04 '2010 13:08 Sarfraz

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.

gilzero avatar Jun 09 '2012 15:06 gilzero

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í.

David Yell avatar Aug 04 '2010 13:08 David Yell