Una de las funciones incorporadas en PHP es la función var_dump(). Esta función muestra información estructurada, como el tipo y el valor de una o más expresiones dadas como argumentos para esta función.
var_dump(mixed$value,mixed...$values):void
Esta función devuelve todas las propiedades públicas, privadas y protegidas de los objetos de la salida. La información de volcado sobre matrices y objetos se sangra correctamente para mostrar la estructura recursiva.
Para las variables enteras, flotantes y booleanas integradas, la función var_dump() muestra el tipo y el valor de la variable de argumento.
Ejemplo 1
Por ejemplo, aquí hay una variable entera:
<?php
$x = 10;
var_dump ($x);
?>
La información de volcado es la siguiente:
int(10)
Ejemplo 2
Veamos cómo se comporta para una variable float −
<?php
$x = 10.25;
var_dump ($x);
?>
La función var_dump() devuelve el siguiente resultado:
float(10.25)
Ejemplo 3
Si la expresión es un valor booleano −
<?php
$x = true;
var_dump ($x);
?>
Producirá el siguiente resultado:
bool(true)
Ejemplo 4
Para una variable de cadena, la función var_dump() también devuelve la longitud de la cadena.
<?php
$x = "Hello World";
var_dump ($x);
?>
Producirá el siguiente resultado:
string(11) "Hello World"
Aquí podemos usar la etiqueta HTML <pre> que distribuye el texto preformateado. El texto de un elemento <pre> se muestra en una fuente de ancho fijo y el texto conserva tanto los espacios como los saltos de línea.
<?php
echo "<pre>";
$x = "Hello World";
var_dump ($x);
echo "</pre>"
?>
Producirá el siguiente resultado:
string(11) "Hello World"
Ejemplo 5 – Estudio de la estructura de la matriz usando var_dump()
La función var_dump() es útil para estudiar la estructura de la matriz. En el siguiente ejemplo, tenemos una matriz en la que uno de los elementos de la matriz es otra matriz. En otras palabras, tenemos una situación de matriz anidada.
<?php
$x = array("Hello", false, 99.99, array(10, 20,30));
var_dump ($x);
?>
Producirá el siguiente resultado:
array(4) {
[0]=>
string(5) "Hello"
[1]=>
bool(false)
[2]=>
float(99.99)
[3]=>
array(3) {
[0]=>
int(10)
[1]=>
int(20)
[2]=>
int(30)
}
}
Ejemplo 6
Dado que «$x» es una matriz indexada en el ejemplo anterior, se vuelca el índice que comienza con «0» junto con su valor. En caso de que la matriz sea una matriz asociada, se vuelca la información del par clave-valor.
<?php
$x = array(
"Hello", false, 99.99,
array(1=>10, 2=>20,3=>30)
);
var_dump($x);
?>
Aquí, obtendrá el siguiente resultado:
array(4) {
[0]=>
string(5) "Hello"
[1]=>
bool(false)
[2]=>
float(99.99)
[3]=>
array(3) {
[1]=>
int(10)
[2]=>
int(20)
[3]=>
int(30)
}
}
Cuando se usa var_dump() para mostrar el valor de la matriz, no hay necesidad de usar la etiqueta final » </pre> «.
Ejemplo 7
La función var_dump() también puede revelar las propiedades de un objeto que representa una clase. En el siguiente ejemplo, hemos declarado una clase Point con dos propiedades privadas «x» e «y». El constructor de la clase inicializa el objeto «p» con los parámetros que se le pasan.
La función var_dump() proporciona la información sobre las propiedades del objeto y sus valores de corrcponding.
<?php
class Point {
private int $x;
private int $y;
public function __construct(int $x, int $y = 0) {
$this->x = $x;
$this->y = $y;
}
}
$p = new Point(4, 5);
var_dump($p)
?>
Producirá el siguiente resultado:
object(Point)#1 (2) {
["x":"Point":private]=>
int(4)
["y":"Point":private]=>
int(5)
}
Hay una función incorporada similar para producir volcado en PHP, llamada get_defined_vars().
var_dump(get_defined_vars());