public function offsetSet($key, $value) { if (!is_array($value)) { $arr = $this->offsetExists($key) ? $this[$key] : []; $arr[] = $value; $value = $arr; } return parent::offsetSet(strtolower($key), $value); }