mirror of
https://github.com/php/php-src.git
synced 2024-12-24 17:30:48 +08:00
39 lines
849 B
PHP
39 lines
849 B
PHP
--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)
|