- var_dump: documentation ( source)
<?php
class DefaultMap implements ArrayAccess {
private $array;
private $default;
public function __construct($default = null) {
$this->array = [];
$this->default = $default;
}
public function &offsetGet($key) {
if (!isset($this->array[$key])) {
$this->array[$key] = $this->default;
}
return $this->array[$key];
}
public function offsetSet($key, $value) {
$this->array[$key] = $value;
}
public function offsetExists($key) {
return isset($this->array[$key]);
}
public function offsetUnset($key) {
unset($this->array[$key]);
}
public function toArray() {
return $this->array;
}
}
$map = new DefaultMap(0);
$map["foo"]++;
var_dump($map->toArray());