- var_dump: documentation ( source)
<?php
class Data implements \ArrayAccess
{
private $_data;
public function __construct($data = [])
{
$this->_data = $data;
}
public function offsetExists($offset)
{
echo 'EXISTS: ' . $offset . PHP_EOL;
return isset($this->_data[$offset]);
}
public function &offsetGet($offset)
{
echo 'GET: ' . $offset . PHP_EOL;
$returnValue = null;
if (!isset($this->_data[$offset])) {
$this->_data[$offset]=new Data();
//return new ;
}
$returnValue = &$this->_data[$offset];
return $returnValue;
}
public function offsetSet($offset, $value)
{
echo 'SET: ' . $offset . PHP_EOL;
var_dump($value);
$this->_data[$offset] = $value;
}
public function offsetUnset($offset)
{
unset($this->_data[$offset]);
}
}
$data = new Data();
var_dump(isset($data['aaaaa']['bbbbbb']['ccccc']));
$data['aaaaa']['bbbbbb']['ccccc'];//='dddddd';
var_dump($data);