Annotation of embedaddon/php/tests/classes/array_access_008.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: ZE2 ArrayAccess and ASSIGN_OP operators (.=)
! 3: --FILE--
! 4: <?php
! 5:
! 6: class Peoples implements ArrayAccess {
! 7: public $person;
! 8:
! 9: function __construct() {
! 10: $this->person = array(array('name'=>'Foo'));
! 11: }
! 12:
! 13: function offsetExists($index) {
! 14: return array_key_exists($this->person, $index);
! 15: }
! 16:
! 17: function offsetGet($index) {
! 18: return $this->person[$index];
! 19: }
! 20:
! 21: function offsetSet($index, $value) {
! 22: $this->person[$index] = $value;
! 23: }
! 24:
! 25: function offsetUnset($index) {
! 26: unset($this->person[$index]);
! 27: }
! 28: }
! 29:
! 30: $people = new Peoples;
! 31:
! 32: var_dump($people->person[0]['name']);
! 33: $people->person[0]['name'] = $people->person[0]['name'] . 'Bar';
! 34: var_dump($people->person[0]['name']);
! 35: $people->person[0]['name'] .= 'Baz';
! 36: var_dump($people->person[0]['name']);
! 37:
! 38: echo "===ArrayOverloading===\n";
! 39:
! 40: $people = new Peoples;
! 41:
! 42: var_dump($people[0]['name']);
! 43: $people[0]['name'] = 'FooBar';
! 44: var_dump($people[0]['name']);
! 45: $people[0]['name'] = $people->person[0]['name'] . 'Bar';
! 46: var_dump($people[0]['name']);
! 47: $people[0]['name'] .= 'Baz';
! 48: var_dump($people[0]['name']);
! 49:
! 50: ?>
! 51: ===DONE===
! 52: --EXPECTF--
! 53: string(3) "Foo"
! 54: string(6) "FooBar"
! 55: string(9) "FooBarBaz"
! 56: ===ArrayOverloading===
! 57: string(3) "Foo"
! 58:
! 59: Notice: Indirect modification of overloaded element of Peoples has no effect in %sarray_access_008.php on line 40
! 60: string(3) "Foo"
! 61:
! 62: Notice: Indirect modification of overloaded element of Peoples has no effect in %sarray_access_008.php on line 42
! 63: string(3) "Foo"
! 64:
! 65: Notice: Indirect modification of overloaded element of Peoples has no effect in %sarray_access_008.php on line 44
! 66: string(3) "Foo"
! 67: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>