diff options
author | Marcus Boerger <helly@php.net> | 2003-12-17 22:14:59 +0000 |
---|---|---|
committer | Marcus Boerger <helly@php.net> | 2003-12-17 22:14:59 +0000 |
commit | 73b895ca5f84626734090f4896ed2c7b3871667f (patch) | |
tree | e70df04c2b366a55d21a147cdac014198c33f836 | |
parent | 1e8ed7889be9b00cb6d9b071529f17254ff31489 (diff) | |
download | php-git-73b895ca5f84626734090f4896ed2c7b3871667f.tar.gz |
Add new test
-rwxr-xr-x | tests/classes/array_access_005.phpt | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/classes/array_access_005.phpt b/tests/classes/array_access_005.phpt new file mode 100755 index 0000000000..057d12049d --- /dev/null +++ b/tests/classes/array_access_005.phpt @@ -0,0 +1,58 @@ +--TEST-- +ZE2 ArrayAccess and sub Arrays +--FILE-- +<?php + +class Peoples implements ArrayAccess { + public $person; + + function __construct() { + $this->person = array(array('name'=>'Joe')); + } + + function offsetExists($index) { + return array_key_exists($this->person, $index); + } + + function offsetGet($index) { + return $this->person[$index]; + } + + function offsetSet($index, $value) { + $this->person[$index] = $value; + } + + function offsetUnset($index) { + unset($this->person[$index]); + } +} + +$people = new Peoples; + +var_dump($people->person[0]['name']); +$people->person[0]['name'] = $people->person[0]['name'] . 'Foo'; +var_dump($people->person[0]['name']); +$people->person[0]['name'] .= 'Bar'; +var_dump($people->person[0]['name']); + +echo "---ArrayOverloading---\n"; + +$people = new Peoples; + +var_dump($people[0]['name']); +$people[0]['name'] = $people->person[0]['name'] . 'Foo'; +var_dump($people[0]['name']); +$people[0]['name'] .= 'Bar'; +var_dump($people[0]['name']); + +echo "---Done---\n"; +?> +--EXPECT-- +string(3) "Joe" +string(3) "JoeFoo" +string(3) "JoeFooBar" +---ArrayOverloading--- +string(3) "Joe" +string(3) "JoeFoo" +string(3) "JoeFooBar" +---Done--- |