var_export

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

var_export — Виводить або повертає рядкове представлення змінної, що інтерпретується.

Опис

var_export(mixed $value, bool $return = false): ?string

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

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

value

Змінна, яку потрібно експортувати.

return

Якщо передано і значення дорівнює true var_export() поверне уявлення змінної замість його виведення.

Значення, що повертаються

Повертає подання змінної, якщо параметр return переданий і дорівнює true. Інакше функція повертає null

список змін

ВерсияОпис
8.2.0Імена класів, що експортуються, тепер повністю визначені; раніше провідний зворотний сліш опускався.
7.3.0Тепер об'єкти stdClass експортуються у вигляді масиву, приведеного до об'єкту (масив (object) array( ... )), вместо использования несуществующего методаstdClass::__setState(). . Практичний ефект полягає в тому, що тепер stdClass можна експортувати, і отриманий код працюватиме навіть у попередніх версіях PHP.

Приклади

Приклад #1 Приклади використання var_export()

Loading...

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

array (
  0 => 1,
  1 => 2,
  2 =>
  array (
    0 => 'a',
    1 => 'b',
    2 => 'c',
  ),
)
Loading...

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

3.1

Приклад #2 Експорт stdClass з PHP 7.3.0

Loading...

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

(object) array(
   'name' => 'ElePHPant ElePHPantsdotter',
   'website' => 'https://php.net/elephpant.php',
)

Приклад #3 Експорт класів

Loading...

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

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

Приклад #4 Использование__set_state()

Loading...

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

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

Примітки

Зауваження :

Змінні типи ресурсів не можуть бути експортовані за допомогою цієї функції.

Зауваження :

var_export() не обробляє циклічні посилання, оскільки майже неможливо було згенерувати інтерпретований PHP-код для такого випадку. Якщо необхідно виконувати якісь дії з повним представленням масиву чи об'єкта, використовуйте функцію serialize()

Увага

До версії PHP 8.2.0, коли функція var_export() експортувала об'єкти, провідний зворотний сліш не додавався в ім'я класу із зазначеним простором імен для найкращої зворотної сумісності.

Зауваження :

Для того, щоб можна було використовувати згенерований var_export() PHP-код, необхідно, щоб усі порушені об'єкти реалізовували магічний метод __set_stateЕдинственное исключение —stdClass, який експортується за допомогою масиву, приведеного до об'єкта.

Дивіться також

  • print_r() - Виводить зручну для читання інформацію про змінну
  • serialize() - Генерує придатне для зберігання уявлення змінної
  • var_dump() - Виводить інформацію про змінну