diff --git a/system/Exception/BadFunctionCallException.php b/system/Exception/BadFunctionCallException.php new file mode 100644 index 0000000..40dc997 --- /dev/null +++ b/system/Exception/BadFunctionCallException.php @@ -0,0 +1,19 @@ +_container[] = $value; + } else { + $this->_container[$offset] = $value; + } + } + + /** + * Whether or not an offset exists + * + * @param string $offset An offset to check for + * @access public + * @return bool + * @abstracting ArrayAccess + */ + public function offsetExists($offset) + { + if (is_string($offset)) $offset = strtolower($offset); + return isset($this->_container[$offset]); + } + + /** + * Unsets an offset + * + * @param string $offset The offset to unset + * @access public + * @abstracting ArrayAccess + * + * @return void + */ + public function offsetUnset($offset) + { + if (is_string($offset)) $offset = strtolower($offset); + unset($this->_container[$offset]); + } + + /** + * Returns the value at specified offset + * + * @param string $offset The offset to retrieve + * @access public + * @return mixed + * @abstracting ArrayAccess + */ + public function offsetGet($offset) + { + if (is_string($offset)) $offset = strtolower($offset); + return isset($this->_container[$offset]) + ? $this->_container[$offset] + : null; + } +} \ No newline at end of file diff --git a/system/arrayClass/Aux/ModernAux.php b/system/arrayClass/Aux/ModernAux.php new file mode 100644 index 0000000..a3b8bdc --- /dev/null +++ b/system/arrayClass/Aux/ModernAux.php @@ -0,0 +1,80 @@ +_container[] = $value; + } else { + $this->_container[$offset] = $value; + } + } + + /** + * Whether or not an offset exists + * + * @param string $offset An offset to check for + * @access public + * @return bool + * @abstracting ArrayAccess + */ + public function offsetExists($offset): bool + { + if (is_string($offset)) $offset = strtolower($offset); + return isset($this->_container[$offset]); + } + + /** + * Unsets an offset + * + * @param string $offset The offset to unset + * @access public + * @abstracting ArrayAccess + * + * @return void + */ + public function offsetUnset($offset): void + { + if (is_string($offset)) $offset = strtolower($offset); + unset($this->_container[$offset]); + } + + /** + * Returns the value at specified offset + * + * @param string $offset The offset to retrieve + * @access public + * @return mixed + * @abstracting ArrayAccess + */ + public function offsetGet($offset): mixed + { + if (is_string($offset)) $offset = strtolower($offset); + return isset($this->_container[$offset]) + ? $this->_container[$offset] + : null; + } +} \ No newline at end of file diff --git a/system/arrayClass/CaseInsensitiveArray.php b/system/arrayClass/CaseInsensitiveArray.php new file mode 100644 index 0000000..366b03d --- /dev/null +++ b/system/arrayClass/CaseInsensitiveArray.php @@ -0,0 +1,38 @@ +_container = array_map("strtolower", $initial_array); + $this->_container = array_change_key_case($initial_array); + } + +} \ No newline at end of file