var_export
var_export
Outputs or returns a parsable string representation of a variable
**var_export** mixed $value bool $return
gets structured information about the
given variable. It is similar to
with one exception: the returned representation is valid PHP code.
var_export``var_dump
valueThe variable you want to export.
return
If used and set to true, will return
the variable representation instead of outputting it.
var_export
Returns the variable representation when the
parameter is used and evaluates to true. Otherwise, this function will
return null.
return
Voorbeeld: Examples
<?php
$a = array (1, 2, array ("a", "b", "c"));
var_export($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;
?>
3.1
Voorbeeld: Exporting stdClass (since PHP 7.3.0)
<?php
$person = new stdClass;
$person->name = 'ElePHPant ElePHPantsdotter';
$person->website = 'https://php.net/elephpant.php';
var_export($person);
(object) array(
'name' => 'ElePHPant ElePHPantsdotter',
'website' => 'https://php.net/elephpant.php',
)
Voorbeeld: Exporting classes
<?php
class A { public $var; }
$a = new A;
$a->var = 5;
var_export($a);
?>
\A::__set_state(array(
'var' => 5,
))
**Voorbeeld: Using **
<?php
class A
{
public $var1;
public $var2;
public static function __set_state($an_array)
{
$obj = new A;
$obj->var1 = $an_array['var1'];
$obj->var2 = $an_array['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);
?>
object(A)#2 (2) {
["var1"]=>
int(5)
["var2"]=>
string(3) "foo"
}
Opmerking: > Variables of type couldn't be exported by this function.
resource
Opmerking: > does not handle circular references as it would be close to impossible to generate parsable PHP code for that. If you want to do something with the full representation of an array or object, use .
var_export``serialize
Waarschuwing: > Prior to PHP 8.2.0, when exports objects, the leading backslash is not included in the class name of namespaced classes for maximum compatibility.
var_export
Opmerking: > To be able to evaluate the PHP generated by , all processed objects must implement the magic method. The only exception is , which is exported using an array cast to an object.
var_export__set_statestdClass
print_r``serialize``var_dump