summaryrefslogtreecommitdiff
path: root/tests/classes/array_access_006.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/classes/array_access_006.phpt')
-rw-r--r--tests/classes/array_access_006.phpt37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/classes/array_access_006.phpt b/tests/classes/array_access_006.phpt
new file mode 100644
index 0000000..342a7e5
--- /dev/null
+++ b/tests/classes/array_access_006.phpt
@@ -0,0 +1,37 @@
+--TEST--
+ZE2 ArrayAccess and ASSIGN_OP operators (+=)
+--FILE--
+<?php
+
+class OverloadedArray implements ArrayAccess {
+ public $realArray;
+
+ function __construct() {
+ $this->realArray = array(1,2,3);
+ }
+
+ function offsetExists($index) {
+ return array_key_exists($this->realArray, $index);
+ }
+
+ function offsetGet($index) {
+ return $this->realArray[$index];
+ }
+
+ function offsetSet($index, $value) {
+ $this->realArray[$index] = $value;
+ }
+
+ function offsetUnset($index) {
+ unset($this->realArray[$index]);
+ }
+}
+
+$a = new OverloadedArray;
+$a[1] += 10;
+var_dump($a[1]);
+echo "---Done---\n";
+?>
+--EXPECT--
+int(12)
+---Done---