(PHP 4 >= 4.2.0, PHP 5)
var_export — Imprime o devuelve una representación de cadena de una variable analizable
var_export() obtiene información estructurada sobre la variable dada. Es similar a la función var_dump() con una excepción: la representación devuelta es código PHP válido.
La variable que desea exportar.
Si es usada y se define como TRUE, var_export() devolverá la representación de la variable en lugar de imprimirla.
Note:
Esta función utiliza salida de búfer interno en este parámetro por lo tanto no puede usarse dentro de una función de retorno ob_start().
Devuelve la representación de la variable cuando el parámetro return es utilizado y evaluado como TRUE. En caso contrario, esta función devolverá NULL.
Versión | Descripción |
---|---|
5.1.0 | Posibilidad de exportar las clases y las matrices que contienen las clases utilizando el __set_state método mágico. |
Example #1 Ejemplos var_export()
<?php
$a = array (1, 2, array ("a", "b", "c"));
var_export($a);
?>
El resultado del ejemplo sería:
array ( 0 => 1, 1 => 2, 2 => array ( 0 => 'a', 1 => 'b', 2 => 'c', ), )
<?php
$b = 3.1;
$v = var_export($b, true);
echo $v;
?>
El resultado del ejemplo sería:
3.1
Example #2 Exportación de clases a partir de PHP 5.1.0
<?php
class A { public $var; }
$a = new A;
$a->var = 5;
var_export($a);
?>
El resultado del ejemplo sería:
A::__set_state(array( 'var' => 5, ))
Example #3 Uso de __set_state (a partir de PHP 5.1.0)
<?php
class A
{
public $var1;
public $var2;
public static function __set_state($una_matriz)
{
$obj = new A;
$obj->var1 = $una_matriz['var1'];
$obj->var2 = $una_matriz['var2'];
return $obj;
}
}
$a = new A;
$a->var1 = 5;
$a->var2 = 'foo';
eval('$b = ' . var_export($a, true) . ';'); // $b = A::__set_state(array(
// 'var1' => 5,
// 'var2' => 'foo',
// ));
var_dump($b);
?>
El resultado del ejemplo sería:
object(A)#2 (2) { ["var1"]=> int(5) ["var2"]=> string(3) "foo" }
Note:
Las variables de tipo resource no pueden ser exportadas por esta función.
Note:
var_export() no maneja referencias circulares as it would be close to impossible to generate parsable PHP code for that.ya que sería prácticamente imposible generar código PHP interpretable en tal caso. Si desea trabajar con la representación completa de una matriz u objeto, use serialize().