summaryrefslogtreecommitdiff
path: root/Zend/tests/dereference_005.phpt
blob: cca87571cd0625dafd7be451fb32d612d6a9753d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
--TEST--
Testing array dereference on object that implements ArrayAccess
--FILE--
<?php

error_reporting(E_ALL);

class obj implements arrayaccess {
    private $container = array();
    public function __construct() {
        $this->container = array(
            "one"   => 1,
            "two"   => 2,
            "three" => 3,
        );
    }
    public function offsetSet($offset, $value) {
        $this->container[$offset] = $value;
    }
    public function offsetExists($offset) {
        return isset($this->container[$offset]);
    }
    public function offsetUnset($offset) {
        unset($this->container[$offset]);
    }
    public function offsetGet($offset) {
        return isset($this->container[$offset]) ? $this->container[$offset] : null;
    }
}

function x() {
	return new obj;
}
var_dump(x()['two']);

?>
--EXPECT--
int(2)