php var_dump () versus print_r ()

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

La función var_dump 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.

print_r() muestra información acerca de una variable de forma legible por humanos. los valores de matriz se presentarán en un formato que muestre claves y elementos . La notación similar se usa 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

  • var_dump
  • print_r

En general, la salida de print_r( ) es más agradable, más concisa y más fácil de leer, también es más legible para los humanos pero no puede mostrar los tipos de datos.

Con print_r() también puede almacenar el resultado en una variable:

 $output = print_r($array, true); 

que var_dump() no puede hacer. Sin embargo, var_dump() puede mostrar tipos de datos.

var_dump() le mostrará el tipo de cosa así como lo que hay en ella.

Entonces obtendrás => [string] “var” El ejemplo está aquí.

print_r() solo mostrará el contenido.

El resultado => “var” El ejemplo está aquí.

Si está preguntando cuándo debería usar qué, generalmente uso print_r() para mostrar valores y var_dump() para cuando tenga problemas con tipos de variables.

var_dump muestra información estructurada sobre el objeto / variable. Esto incluye tipo y valores. Al igual que print_r matrices son recursadas e indentadas.

print_r muestra información humana legible sobre los valores con un formato que presenta claves y elementos para matrices y objetos.

Lo más importante que debe tener en cuenta es que var_dump mostrará el tipo de salida y los valores, mientras que print_r no lo hará.

Diferencias significativas entre var_dump y print_r

Ambas funciones vuelcan información sobre la variable , pero var_dump múltiples parámetros que serán volcados, donde print_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, ya que print_r puede devolver la información de la variable si establecemos el segundo parámetro de print_r en verdadero . El valor devuelto de print_r estará en formato de cadena .

La información impresa por print_r es mucho más en formato legible donde var_dump imprime valores sin formato.

print_r función print_r se puede usar en muchos contextos, ya que var_dump se puede usar principalmente para la depuración, ya que no puede devolver el valor.

Además, recomiendo colocar la salida de var_dump () o printr en una etiqueta previa al enviar a un navegador.

 print "
"; print_r($dataset); print "

";

Dará un resultado más legible.

var_dump($var) muestra detalles en profundidad, proporcionando detalles adicionales de

  • tipo de datos del valor (incluidos los elementos descendientes)
  • número de elementos en una variable
  • longitud del valor

Con arreglos 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.

  echo "
" . substr(print_r($dataset, 1), 0, 2000) . "

";

var_dump (): –

  1. Esta función muestra información estructurada sobre una o más expresiones que incluye su tipo y valor. Las matrices y los objetos se exploran recursivamente con valores sangrados para mostrar la estructura.
  2. Esta función muestra el número de elementos en una variable.
  3. Esta función muestra la longitud de la variable.
  4. No puede devolver el valor, solo imprime el valor.
  5. es uso para el propósito de depuración.

Ejemplo: –

  

salida: –

  array(3) { [0]=> int(1) [1]=> int(2) [2]=> array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" } } 

print_r (): –

  1. Imprime información legible por humanos sobre una variable.
  2. No muestra el número de elemento en una variable como var_dump ().
  3. No muestra la longitud de la variable en una variable como var_dump ().
  4. Devuelve el valor si establecemos el segundo parámetro en verdadero en printf_r ().

Ejemplo: –

 
  'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z')); print_r ($a); ?> 

Salida:-

 
 Array ( [a] => apple [b] => banana [c] => Array ( [0] => x [1] => y [2] => z ) ) 

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 ([key] = value) mientras que la función var_dump () devuelve una lista de arreglos con sus claves de matriz con tipo de datos y longitud, por ejemplo, Array (array_length) {[0] = string (1) ‘a’}.