/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/spl/tests/bug45622.phpt
49 строк
1 KB
Nikita Popov
Promote "undefined array key" notice to warning
03 авг 2020, 15:40
03 авг 2020, 15:40
c48b745
Код
Авторство
О чём код?
--TEST-- SPL: Bug #45622 (isset($arrayObject->p) misbehaves with ArrayObject::ARRAY_AS_PROPS set --FILE-- <?php class C extends ArrayObject { public $p = 'object property'; } $ao = new C(array('p'=>'array element')); $ao->setFlags(ArrayObject::ARRAY_AS_PROPS); echo "\n--> Access the real property:\n"; var_dump(isset($ao->p)); var_dump($ao->p); echo "\n--> Remove the real property and access the array element:\n"; unset($ao->p); var_dump(isset($ao->p)); var_dump($ao->p); echo "\n--> Remove the array element and try access again:\n"; unset($ao->p); var_dump(isset($ao->p)); var_dump($ao->p); echo "\n--> Re-add the real property:\n"; $ao->p = 'object property'; var_dump(isset($ao->p)); var_dump($ao->p); ?> --EXPECTF-- --> Access the real property: bool(true) string(15) "object property" --> Remove the real property and access the array element: bool(true) string(13) "array element" --> Remove the array element and try access again: bool(false) Warning: Undefined array key "p" in %s on line %d NULL --> Re-add the real property: bool(true) string(15) "object property"