public function offsetUnset($offset) { Debug::checkArg(0, 1, 'array or string', $offset, 1, 'nonempty', $offset); if (is_array($offset)) { $config =& $this->_config; foreach ($offset as $key) { if (!isset($config[$key])) { throw new Iae("Undefined index: {$key}"); } else { if ($key == end($offset)) { unset($config[$key]); } else { $config =& $config[$key]; } } } } else { if (isset($this->_config[$offset])) { unset($this->_config[$offset]); } else { throw new Iae("Undefined index: {$offset}"); } } }