Annotation of embedaddon/php/Zend/tests/dereference_012.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Testing array dereferencing on return of a method with and without reference
! 3: --FILE--
! 4: <?php
! 5:
! 6: class foo {
! 7: static $x = array();
! 8:
! 9: public function &a() {
! 10: self::$x = array(1, 2, 3);
! 11: return self::$x;
! 12: }
! 13:
! 14: public function b() {
! 15: $x = array(1);
! 16: $x[] = 2;
! 17: return $x;
! 18: }
! 19: }
! 20:
! 21: $foo = new foo;
! 22:
! 23: // Changing the static variable
! 24: $foo->a()[0] = 2;
! 25: var_dump($foo::$x);
! 26:
! 27: $foo->b()[] = new stdClass;
! 28:
! 29: $h = $foo->b();
! 30: var_dump($h);
! 31:
! 32: $h[0] = 3;
! 33: var_dump($h);
! 34:
! 35: ?>
! 36: --EXPECT--
! 37: array(3) {
! 38: [0]=>
! 39: int(2)
! 40: [1]=>
! 41: int(2)
! 42: [2]=>
! 43: int(3)
! 44: }
! 45: array(2) {
! 46: [0]=>
! 47: int(1)
! 48: [1]=>
! 49: int(2)
! 50: }
! 51: array(2) {
! 52: [0]=>
! 53: int(3)
! 54: [1]=>
! 55: int(2)
! 56: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>