Annotation of embedaddon/php/Zend/tests/dereference_001.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Testing array dereference
! 3: --FILE--
! 4: <?php
! 5: error_reporting(E_ALL);
! 6:
! 7: function a() {
! 8: return array(1,array(5));
! 9: }
! 10: var_dump(a()[1][0]); // int(5)
! 11:
! 12: function b() {
! 13: return array();
! 14: }
! 15: var_dump(b()[0]); // Notice: Undefined offset: 0
! 16:
! 17: class foo {
! 18: public $y = 1;
! 19:
! 20: public function test() {
! 21: return array(array(array('foobar')));
! 22: }
! 23: }
! 24:
! 25: function c() {
! 26: return array(new foo);
! 27: }
! 28: var_dump(c()[0]->y); // int(1)
! 29:
! 30: function d() {
! 31: $obj = new foo;
! 32: return $obj->test();
! 33: }
! 34: var_dump(d()[0][0][0][3]); // string(1) "b"
! 35:
! 36: function e() {
! 37: $y = 'bar';
! 38: $x = array('a' => 'foo', 'b' => $y);
! 39: return $x;
! 40: }
! 41: var_dump(e()['b']); // string(3) "bar"
! 42:
! 43: ?>
! 44: --EXPECTF--
! 45: int(5)
! 46:
! 47: Notice: Undefined offset: 0 in %s on line %d
! 48: NULL
! 49: int(1)
! 50: string(1) "b"
! 51: string(3) "bar"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>