php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /php-7.1.11/Zend/tests/ |
files >> //php-7.1.11/Zend/tests/bug71359.phpt |
--TEST-- Bug #71359: Null coalescing operator and magic --FILE-- <?php class AA { private $data = []; public function __isset($name) { echo "__isset($name)\n"; return array_key_exists($name, $this->data); } public function &__get($name) { echo "__get($name)\n"; if (!array_key_exists($name, $this->data)) { throw new Exception('Unknown offset'); } return $this->data[$name]; } public function __set($name, $value) { echo "__set($name)\n"; $this->data[$name] = $value; } public function __unset($name) { echo "__unset($name)\n"; unset($this->data[$name]); } } $aa = new AA; var_dump(isset($aa->zero->one->two)); var_dump(isset($aa->zero->foo)); var_dump($aa->zero ?? 42); var_dump($aa->zero->one->two ?? 42); $aa->zero = new AA; $aa->zero->one = new AA; var_dump(isset($aa->zero->one->two)); var_dump($aa->zero->one->two ?? 42); ?> --EXPECT-- __isset(zero) bool(false) __isset(zero) bool(false) __isset(zero) int(42) __isset(zero) int(42) __set(zero) __get(zero) __set(one) __isset(zero) __get(zero) __isset(one) __get(one) __isset(two) bool(false) __isset(zero) __get(zero) __isset(one) __get(one) __isset(two) int(42)y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`