¿Cuál es la diferencia entre var_dump()
y print_r()
en términos de escupir una matriz como cadena?php var_dump() vs print_r()
Respuesta
Los var_dump
indicaciones de función estructurados información sobre variables/expresiones incluyendo 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.
El print_r()
muestra información sobre una variable de forma legible por humanos. los valores de matriz se presentarán en un formato que muestra claves y elementos. La notación similar se usa para los objetos.
Ejemplo:
$obj = (object) array('qualitypoint', 'technologies', 'India');
var_dump($obj)
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)
mostrará debajo de la salida en la pantalla.
stdClass Object (
[0] => qualitypoint
[1] => technologies
[2] => India
)
Más información
var_dump()
le mostrará el tipo de cosa así como lo que hay en ella.
Así que obtendrá => [cadena] "var" Example aquí.
print_r()
solo mostrará el contenido.
Salida => "var" Example aquí.
creo que el mejor ejemplo sería 'var_dump (0,0);' que da salida a 'flotador (0) 'vs' print_r (0.0); 'que genera' 0' (lo que conduce a una posible confusión de tipos) ... – ircmaxell
var_dump
muestra información estructurada sobre el objeto/variable. Esto incluye tipo y valores. Al igual que print_r
, las matrices son recursadas e indentadas.
print_r
pantallas legible información acerca de los valores con un formato de presentación de teclas y elementos de arrays y objetos.
Lo más importante es var_dump
tipo de salida y valores, mientras que print_r
no.
Si estás preguntando cuándo se debe utilizar lo que, en general, yo uso print_r()
para los valores que muestran var_dump()
y para cuando teniendo problemas con los tipos de variables.
En general, la salida 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 tipos de datos.
Con print_r()
también puede almacenar el resultado en una variable:
$output = print_r($array, true);
cuales var_dump()
no puede hacer. Sin embargo, var_dump()
puede mostrar tipos de datos.
var_dump() se puede almacenar en una variable aunque sea un poco más fea: http://stackoverflow.com/questions/139474/how-can-i-capture-the-result-of- var-dump-to-a-string – SgtPooki
también puede ser 'brother' [var_export()] (http://www.php.net/manual/en/function.var-export.php) si necesita guardar –
diferencias significativas entre var_dump
y print_r
tanto las funciones vuelca la información acerca de la variable, pero var_dump
múltiples parámetros que serán objeto de dumping, donde como print_r
pueden tomar dos parámetros, de los cuales primer parámetro es la variable que quiere volcar y el segundo es un valor booleano.
var_dump
no puede devolver ningún valor sólo puede volcar/imprimir los valores donde como print_r puede devolver la información variable si establecemos segundo parámetro de print_r
a cierto. El valor devuelto de print_r
estará en el formato de cadena.
La información impresa por print_r
es mucho más en formato legible donde var_dump
imprime valores brutos.
La función print_r
se puede utilizar en muchos contextos en los que var_dump
se puede usar principalmente para la depuración ya que no puede devolver el valor.
['vardump'] (http://php.net/manual/en/function.var-dump.php) toma uno ** o más ** argumentos, y cada uno será descargado. – bishop
@bishop, sí, está en lo correcto, puede tomar más argumentos, pero no devuelve ningún valor –
, ¿así que corrige tu respuesta? –
var_dump($var)
shows en profundidad, proporcionando detalles adicionales de tipo
- de datos del valor (incluyendo los elementos descendientes)
- número de elementos en una variable
- longitud del valor
Recomendaría adicionalmente poner la salida de var_dump() o printr en una etiqueta pre cuando o utputing a un navegador.
print "<pre>";
print_r($dataset);
print "</pre>";
Darán un resultado más legible.
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 "<pre>" . substr(print_r($dataset, 1), 0, 2000) . "</pre>";
print_r() y var_dump() son funciones de depuración de matriz usados en PHP para la depuración de propósito. 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'}.
var_dump(): -
- Esta función muestra información estructurada acerca de 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.
- Esta función muestra el número de elemento en una variable.
- Esta función muestra la longitud de la variable.
- No se puede devolver el valor, solo imprime el valor.
- es uso para el propósito de depuración.
Ejemplo: -
<?php
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>
de 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(): -
- Imprime información legible por humanos sobre una variable.
- No muestra el número de elemento en una variable como var_dump().
- No muestra la longitud de la variable en una variable como var_dump().
- Devuelve 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>
de salida: -
<pre>
Array
(
[a] => apple
[b] => banana
[c] => Array
(
[0] => x
[1] => y
[2] => z
)
)
</pre>
- 1. Diferencia entre var_dump, var_export e print_r
- 2. Ocultar campos de clases específicas de print_r o var_dump
- 3. difícil de entender print_r/var_dump para el objeto
- 4. php var_dump ($ object) o print_r ($ object) en un archivo de registro
- 5. ¿Cuál es el equivalente de JavaScript de var_dump o print_r en PHP?
- 6. php print_r nice table
- 7. ¿Hay un equivalente print_r o var_dump en Ruby/Ruby on Rails?
- 8. PHP: colores en var_dump (Ubuntu)
- 9. Java: print_r?
- 10. No var_dump() ni print_r() mostrarán información legible ... pero la misma salida confusa. ¿Por qué?
- 11. jQuery: print_r() pantalla equivalente?
- 12. var_dump() en Scala
- 13. ¿Qué significa "1" al final de una declaración php print_r?
- 14. ¿Cuál es el equivalente de Perl a print_r() de PHP?
- 15. ¿Existe un equivalente de print_r de PHP en Ruby/Rails?
- 16. utilizando una matriz PHP print_r resultado en javascript/jquery
- 17. print_r para obtener métodos de objetos en PHP?
- 18. ¿xdebug embellece var_dump?
- 19. Print_r equivalente en Liquid
- 20. ¿Cuál es el equivalente .NET de PHP var_dump?
- 21. ¿Hay algo así como var_dump de PHP en c/C++?
- 22. ¿Cuál es el equivalente Java de PHP var_dump?
- 23. ¿Existe un equivalente para var_dump (PHP) en Javascript?
- 24. ¿Por qué var_dump a Doctrine Objects mata mi Apache?
- 25. poniendo resultados print_r en la variable
- 26. Xdebug no funciona con var_dump()
- 27. Pregunta sobre la salida var_dump
- 28. PHP "php: // input" vs $ _POST
- 29. PHP array vs PHP Constant?
- 30. Struts vs Zend? Java vs PHP?
print_r (null) no devolverá nada cuando var_dump (null) devuelva NULL, que es útil cuando se depura ging – rosh3000
¿Puedes ampliar tu respuesta con 'var_export'? – joryl
Dos ventajas de var_dump() es que la información volcada automáticamente se incluye en un elemento pre. Al usar var_dump(), puede ver que cada tipo tiene su propio color. Mejorando la legibilidad – Julian