PHP.nl

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