var_dump
Web Services
Функции для работы с переменными
PHP Manual

# var_export

(PHP 4 >= 4.2.0, PHP 5)

var_export — Выводит в браузер или возвращает интерпретируемое строковое представление переменной

### Описание

mixed var_export ( mixed `$expression` [, bool `$return` ] )

var_export() возвращает структурированную информацию о данной переменной. Функция аналогична var_dump() за одним исключением: возвращаемое представление является полноценным PHP кодом.

### Список параметров

`expression`

  Переменная, которую необходимо экспортировать.

`return`

  Если используется и значение равно `TRUE`, var_export() вернет представление переменной вместо его вывода.

  > Замечание: This function uses internal output buffering with this parameter so it can not be used inside an ob_start() callback function.

### Возвращаемые значения

Возвращает представление переменной, если параметр `return` используется и приравнивается к `TRUE`. В противном случае функция возвращает `NULL`.

### Список изменений

Версия | Описание
--- | ---
5.1.0 | Стало возможным экспортировать классы и массивы, содержащие другие классы, используя магический метод __set_state.

### Примеры

Пример #1 Примеры использования var_export()

`<?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

Пример #2 Экспорт классов в PHP с версии 5.1.0

`<?php
class A { public $var; }
$a = new A;
$a->var = 5;
var_export($a);
?>`

Результат выполнения данного примера:

    A::__set_state(array(
       'var' => 5,
    ))

Пример #3 Использование __set_state (в 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);
?>`

Результат выполнения данного примера:

    object(A)#2 (2) {
      ["var1"]=>
      int(5)
      ["var2"]=>
      string(3) "foo"
    }

### Примечания

> Замечание: Переменные типа resource не могут быть экспортированы с помощью этой функции.

> Замечание: var_export() не обрабатывает кольцевые ссылки, так как было бы почти невозможно сгенерировать интерпретируемый PHP код для такого случая. Если Вы хотите производить какие-то действия с полным представлением массива или объекта, используйте функцию serialize().

### Смотрите также

- print_r() - Выводит удобочитаемую информацию о переменной
- serialize() - Генерирует пригодное для хранения представление переменной
- var_dump() - Выводит информацию о переменной

var_dump
Web Services
Функции для работы с переменными
PHP Manual