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/tests/lang/ |
files >> //php-7.1.11/tests/lang/engine_assignExecutionOrder_008.phpt |
--TEST-- Ensure by value assignments leave temporaries on the stack, for all sorts of assignees. --FILE-- <?php error_reporting(E_ALL & ~E_STRICT); function f() { return 0; } $a[0][1] = 'good'; $a[1][1] = 'bad'; echo "\n" . '$i=f(): '; echo $a[$i=f()][++$i]; unset($i); echo "\n" . '$$x=f(): '; $x='i'; echo $a[$$x=f()][++$$x]; unset($i, $x); echo "\n" . '${\'i\'}=f(): '; echo $a[${'i'}=f()][++${'i'}]; unset(${'i'}); echo "\n" . '$i[0]=f(): '; echo $a[$i[0]=f()][++$i[0]]; unset($i); echo "\n" . '$i[0][0]=f(): '; echo $a[$i[0][0]=f()][++$i[0][0]]; unset($i); echo "\n" . '$i->p=f(): '; echo $a[$i->p=f()][++$i->p]; unset($i); echo "\n" . '$i->p->q=f(): '; echo $a[$i->p->q=f()][++$i->p->q]; unset($i); echo "\n" . '$i->p[0]=f(): '; echo $a[$i->p[0]=f()][++$i->p[0]]; unset($i); echo "\n" . '$i->p[0]->p=f(): '; echo $a[$i->p[0]->p=f()][++$i->p[0]->p]; unset($i); Class C { static $p; } echo "\n" . 'C::$p=f(): '; echo $a[C::$p=f()][++C::$p]; echo "\n" . 'C::$p[0]=f(): '; C::$p = array(); echo $a[C::$p[0]=f()][++C::$p[0]]; echo "\n" . 'C::$p->q=f(): '; C::$p = new stdclass; echo $a[C::$p->q=f()][++C::$p->q]; ?> --EXPECTF-- $i=f(): good $$x=f(): good ${'i'}=f(): good $i[0]=f(): good $i[0][0]=f(): good $i->p=f(): Warning: Creating default object from empty value in %s on line %d good $i->p->q=f(): Warning: Creating default object from empty value in %s on line %d good $i->p[0]=f(): good $i->p[0]->p=f(): Warning: Creating default object from empty value in %s on line %d good C::$p=f(): good C::$p[0]=f(): good C::$p->q=f(): goody~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`