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() - Виводить інформацію про змінну