/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/spl/tests/ArrayObject/arrayObject_setFlags_basic1.phpt
51 строка
1 KB
Gina Peter Banyard
ext/spl: Deprecate ArrayObject and ArrayIterator with objects (#19420)
14 авг 2025, 14:38
Не верифицирован
14 авг 2025, 14:38
fb87b14
Код
Авторство
О чём код?
--TEST-- SPL: ArrayObject::setFlags basic usage with ArrayObject::ARRAY_AS_PROPS. Currently fails on php.net due to bug 45622. --FILE-- <?php class C extends ArrayObject { public $p = 'object property'; } function access_p($ao) { // isset var_dump(isset($ao->p)); // read var_dump($ao->p); // write $ao->p = $ao->p . '.changed'; var_dump($ao->p); } $ao = new C(array('p'=>'array element')); $ao->setFlags(ArrayObject::ARRAY_AS_PROPS); echo "\n--> Access the real property:\n"; access_p($ao); echo "\n--> Remove the real property and access the array element:\n"; unset($ao->p); access_p($ao); echo "\n--> Remove the array element and try access again:\n"; unset($ao->p); access_p($ao); ?> --EXPECTF-- --> Access the real property: bool(true) string(15) "object property" string(23) "object property.changed" --> Remove the real property and access the array element: bool(true) string(13) "array element" string(21) "array element.changed" --> Remove the array element and try access again: bool(false) Warning: Undefined array key "p" in %s on line %d NULL Warning: Undefined array key "p" in %s on line %d string(8) ".changed"