¿Cuál es la diferencia entre var_dump()
y print_r()
en términos de escupir una matriz como cadena?
297
La var_dump
función muestra información estructurada sobre variables / expresiones, incluido su tipo y valor . Las matrices se exploran recursivamente con valores sangrados para mostrar la estructura. También muestra qué valores de matriz y propiedades de objeto son referencias.
La print_r()
muestra información sobre una variable en una manera que sea legible por los seres humanos. Los valores de la matriz se presentarán en un formato que muestre claves y elementos . Se usa notación similar para los objetos.
Ejemplo:
$obj = (object) array('qualitypoint', 'technologies', 'India');
var_dump($obj)
se mostrará debajo de la salida 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 de la salida en la pantalla.
stdClass Object (
[0] => qualitypoint
[1] => technologies
[2] => India
)
Más información
En general, la
print_r( )
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 los tipos de datos.Con
print_r()
usted también puede almacenar la salida en una variable:que
var_dump()
no puede hacer Sin embargo,var_dump()
puede mostrar tipos de datos.fuente
var_dump()
le mostrará el tipo de cosa, así como lo que contiene.Entonces obtendrás => El
(string)"var"
ejemplo está aquí.print_r()
solo dará salida al contenido.Salida => El
"var"
ejemplo está aquí.fuente
var_dump(0.0);
qué salidasfloat(0)
frente aprint_r(0.0);
qué salidas0
(lo que lleva a una posible confusión de tipos) ...Si está preguntando cuándo debe usar qué, generalmente lo uso
print_r()
para mostrar valores yvar_dump()
para cuando tiene problemas con los tipos de variables.fuente
var_dump
muestra información estructurada sobre el objeto / variable. Esto incluye tipo y valores. Lasprint_r
matrices similares se recursan y sangran.print_r
muestra información legible por humanos sobre los valores con un formato que presenta claves y elementos para matrices y objetos.Lo más importante a tener en cuenta es
var_dump
el tipo de salida, así como los valores, mientrasprint_r
que no.fuente
Diferencias significativas entre
var_dump
yprint_r
Ambas funciones vuelcan información sobre la variable , pero
var_dump
múltiples parámetros que serán volcados, donde comoprint_r
puede tomar dos parámetros, de los cuales el primer parámetro es la variable que desea volcar y el segundo es un valor booleano.var_dump
no puede devolver ningún valor, solo puede volcar / imprimir los valores donde como print_r puede devolver la información de la variable si establecemos el segundo parámetro deprint_r
en verdadero . El valor devuelto deprint_r
estará en formato de cadena .La información impresa por
print_r
es mucho más en formato legible dondevar_dump
imprime valores sin procesar.print_r
La función se puede usar en muchos contextos dondevar_dump
se puede usar en propósitos de depuración principalmente porque no puede devolver valor.fuente
vardump
toma uno o más argumentos, y cada uno será abandonado.ob_start(); var_dump($var); $dump=ob_get_clean();
Además, recomendaría poner la salida de var_dump () o printr en una etiqueta previa cuando se envíe a un navegador.
Dará un resultado más legible.
fuente
var_dump($var)
muestra detalles en profundidad, proporcionando detalles adicionales defuente
Con matrices grandes, print_r puede mostrar mucha más información de la que es útil. Puede truncarlo así, mostrando los primeros 2000 caracteres o cuantos necesite.
fuente
var_dump (): -
Ejemplo:
salida: -
print_r (): -
Ejemplo:
Salida:-
fuente
ob_start(); var_dump($var); $dump=ob_get_clean();
print_r () y var_dump () son funciones de depuración de matriz utilizadas en PHP para fines de depuración. La función print_r () devuelve las claves de la matriz y sus miembros como Array ([clave] = valor) mientras que la función var_dump () devuelve la lista de matrices con sus claves de matriz con tipo de datos y longitud, por ejemplo, Array (array_length) {[0] = cadena (1) 'a'}.
fuente
Podemos pasar múltiples parámetros con var_dump como:
fuente