File:
[ELWIX - Embedded LightWeight unIX -] /
embedaddon /
php /
tests /
classes /
array_access_004.phpt
Revision
1.1.1.1 (vendor branch):
download - view:
text,
annotated -
select for diffs -
revision graph
Tue Feb 21 23:48:06 2012 UTC (12 years, 6 months ago) by
misho
Branches:
php,
MAIN
CVS tags:
v5_4_3elwix,
v5_4_29p0,
v5_4_29,
v5_4_20p0,
v5_4_20,
v5_4_17p0,
v5_4_17,
v5_3_10,
HEAD
php
1: --TEST--
2: ZE2 ArrayAccess::offsetGet ambiguties
3: --FILE--
4: <?php
5: class object implements ArrayAccess {
6:
7: public $a = array('1st', 1, 2=>'3rd', '4th'=>4);
8:
9: function offsetExists($index) {
10: echo __METHOD__ . "($index)\n";
11: return array_key_exists($index, $this->a);
12: }
13: function offsetGet($index) {
14: echo __METHOD__ . "($index)\n";
15: switch($index) {
16: case 1:
17: $a = 'foo';
18: return $a . 'Bar';
19: case 2:
20: static $a=1;
21: return $a;
22: }
23: return $this->a[$index];
24: }
25: function offsetSet($index, $newval) {
26: echo __METHOD__ . "($index,$newval)\n";
27: if ($index==3) {
28: $this->cnt = $newval;
29: }
30: return $this->a[$index] = $newval;
31: }
32: function offsetUnset($index) {
33: echo __METHOD__ . "($index)\n";
34: unset($this->a[$index]);
35: }
36: }
37:
38: $obj = new Object;
39:
40: var_dump($obj[1]);
41: var_dump($obj[2]);
42: $obj[2]++;
43: var_dump($obj[2]);
44:
45: ?>
46: ===DONE===
47: --EXPECTF--
48: object::offsetGet(1)
49: string(6) "fooBar"
50: object::offsetGet(2)
51: int(1)
52: object::offsetGet(2)
53:
54: Notice: Indirect modification of overloaded element of object has no effect in %sarray_access_004.php on line 39
55: object::offsetGet(2)
56: int(1)
57: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>