mirror of
https://github.com/php/php-src.git
synced 2024-10-17 14:32:37 +00:00
39 lines
849 B
Plaintext
39 lines
849 B
Plaintext
|
--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)
|