PHP Manual
Prev |  | Next

# var_export

(PHP 4 >= 4.2.0, PHP 5)

var_export -- Outputs or returns a parsable string representation of a variable

## Description

mixed var_export ( mixed expression [, bool return] )

var_export() gets structured information about the given variable. It is similar to var_dump() with one exception: the returned representation is valid PHP code.

## Parameters

expression

  The variable you want to export.

return

  If used and set to `TRUE`, var_export() will return the variable representation instead of outputing it.

  > Note: This function internally uses the output buffering with this parameter so it can not be used inside ob_start() callback function.

## Return Values

Returns the variable representation when the return parameter is used and evaluates to `TRUE`. Otherwise, this function will return `NULL`.

## ChangeLog

Version | Description
--- | ---
5.1.0 | Possibility to export classes and arrays containing classes using the __set_state magic method.

## Examples

Example 1. var_export() Examples
`<?php $a = array (1, 2, array ("a", "b", "c")); var_export($a); ?>`
The above example will output:
    array (
      0 => 1,
      1 => 2,
      2 =>
      array (
        0 => 'a',
        1 => 'b',
        2 => 'c',
      ),
    )
`<?php $b = 3.1; $v = var_export($b, true); echo $v; ?>`
The above example will output:
    3.1

Example 2. Exporting classes since PHP 5.1.0
`<?php class A { public $var; } $a = new A; $a->var = 5; var_export($a); ?>`
The above example will output:
    A::__set_state(array(
       'var' => 5,
    ))

Example 3. Using __set_state (since PHP 5.1.0)
`<?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); ?>`
The above example will output:
    object(A)#2 (2) {
      ["var1"]=>
      int(5)
      ["var2"]=>
      string(3) "foo"
    }

## Notes

> Note: Variables of type resource couldn't be exported by this function.

## See Also

var_dump()
print_r()

Prev | Home | Next
var_dump | Up | Verisign Payflow Pro Functions