var_export var_dump log espaƱol array _post php arrays

log - php var_dump() vs print_r()



var_dump($_post) (12)

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


Con matrices grandes, print_r puede mostrar mucha más información de la que es útil. Puede truncarlo de esta forma, mostrando los primeros 2000 caracteres o cuantos necesite.

echo "<pre>" . substr(print_r($dataset, 1), 0, 2000) . "</pre>";


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, mientras que 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, mientras que print_r puede devolver la información 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, como var_dump imprime valores en bruto.

print_r función print_r se puede usar en muchos contextos donde, como var_dump se puede usar en propósitos de depuración principalmente porque no puede devolver valor.


En general, la salida de print_r( ) es mejor, 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 la salida en una variable:

$output = print_r($array, true);

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


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

El print_r() muestra información sobre una variable de una manera que los humanos pueden leer. Los valores de la matriz se presentarán en un formato que muestra claves y elementos . Se usa una 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


Podemos pasar múltiples parámetros con var_dump como:

var_dump("array1",$array1,"array2",$array2);


Recomiendo adicionalmente colocar la salida de var_dump () o printr en una etiqueta pre al enviar a un navegador.

print "<pre>"; print_r($dataset); print "</pre>";

Dará un resultado más legible.


Si está preguntando cuándo debe usar qué, generalmente uso print_r() para mostrar valores y var_dump() para tener problemas con tipos de variables.


print_r () y var_dump () son funciones de depuración de matrices 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 la lista de la matriz con sus claves de la matriz con el tipo de datos y la longitud, por ejemplo, Array (array_length) {[0] = string (1) ''a''}.


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

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

var_dump() te mostrará el tipo de cosa así como lo que contiene.

Así que obtendrás => (string)"var" var_dump está aquí.

print_r() solo emitirá el contenido.

Emitiría => "var" print_r está aquí.


var_dump muestra información estructurada sobre el objeto / variable. Esto incluye el tipo y los valores. Al igual que las matrices print_r se recursionan 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 que var_dump generará tanto el tipo como los valores, mientras que print_r no.


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 elemento en una variable.
  3. Esta función muestra la longitud de la variable.
  4. No se puede devolver el valor solo imprimir el valor.
  5. Se utiliza para fines de depuración.

Ejemplo: -

<?php $a = array(1, 2, array("a", "b", "c")); var_dump($a); ?>

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. Devuelva el valor si establecemos el segundo parámetro en verdadero en printf_r ().

Ejemplo: -

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

Salida:-

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