<?php
//Enter your code here, enjoy!
$array = array("1" => "PHP code tester Sandbox Online",
"foo" => "bar", 5 , 5 => 89009,
"case" => "Random Stuff",
"PHP Version" => phpversion()
);
/**
* Config class
*
* Simple class to store or get elements from configuration registry
*/
class Config implements ArrayAccess, IteratorAggregate
{
/** @var array $data Data configuration array */
private $data = [];
/**
* Class constructor
* @param array $data List of values to add to the configuration registry
*/
public function __construct(array $data = [])
{
$ritit = new \RecursiveIteratorIterator(new \RecursiveArrayIterator($data));
$result = array();
foreach ($ritit as $leafValue)
{
$keys = array();
foreach (range(0, $ritit->getDepth()) as $depth)
{
$keys[] = $ritit->getSubIterator($depth)->key();
}
$result[implode('.', $keys)] = $leafValue;
}
$this->data = $result;
}
/**
* Retrieves elements from config array
*
* @param string $key
* @return mixed returns a config value
* @throws Exception when no $key found
*/
public function get($key)
{
if (!isset($this->data[$key]))
{
throw new \Exception('There is no entry for key: ' . $key);
}
return $this->data[$key];
}
/**
* Return true if value is empty for given key
*
* @param string $key
* @return bool
*/
public function isEmpty($key)
{
return empty($this->data[$key]);
}
/**
* IteratorAggregate interface required method
*
* @return \ArrayIterator
*/
public function getIterator()
{
return new \ArrayIterator($this->data);
}
/**
* Key to set
*
* @param mixed $key
* @param mixed $value
* @throws \Exception
*/
public function offsetSet($key, $value)
{
if (!$key)
{
$this->data[] = $value;
} else
{
$this->data[$key] = $value;
}
}
/**
* Key to retrieve
*
* @param mixed $key
* @return string|null
*/
public function offsetGet($key)
{
if (isset($this->data[$key]))
{
return $this->data[$key];
}
return null;
}
/**
* Whether a key exists
*
* @param mixed $key
* @return bool
*/
public function offsetExists($key)
{
return isset($this->data[$key]);
}
/**
* Key to unset
*
* @param mixed $key
*/
public function offsetUnset($key)
{
unset($this->data[$key]);
}
}
$config = new Config($array);
var_dump($config);
- Output for 7.2.0
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(5) "7.2.0"
}
}
- Output for 7.1.10
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "7.1.10"
}
}
- Output for 7.1.7
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(5) "7.1.7"
}
}
- Output for 7.1.6
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(5) "7.1.6"
}
}
- Output for 7.1.5
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(5) "7.1.5"
}
}
- Output for 7.1.0
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(5) "7.1.0"
}
}
- Output for 7.0.20
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "7.0.20"
}
}
- Output for 7.0.6
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(5) "7.0.6"
}
}
- Output for 7.0.5
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(5) "7.0.5"
}
}
- Output for 7.0.4
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(5) "7.0.4"
}
}
- Output for 7.0.3
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(5) "7.0.3"
}
}
- Output for 7.0.2
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(5) "7.0.2"
}
}
- Output for 7.0.1
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(5) "7.0.1"
}
}
- Output for 7.0.0
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(5) "7.0.0"
}
}
- Output for 5.6.28
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.6.28"
}
}
- Output for 5.6.21
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.6.21"
}
}
- Output for 5.6.20
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.6.20"
}
}
- Output for 5.6.19
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.6.19"
}
}
- Output for 5.6.18
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.6.18"
}
}
- Output for 5.6.17
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.6.17"
}
}
- Output for 5.6.16
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.6.16"
}
}
- Output for 5.6.15
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.6.15"
}
}
- Output for 5.6.14
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.6.14"
}
}
- Output for 5.6.13
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.6.13"
}
}
- Output for 5.6.12
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.6.12"
}
}
- Output for 5.6.11
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.6.11"
}
}
- Output for 5.6.10
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.6.10"
}
}
- Output for 5.6.9
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(5) "5.6.9"
}
}
- Output for 5.6.8
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(5) "5.6.8"
}
}
- Output for 5.5.35
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.5.35"
}
}
- Output for 5.5.34
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.5.34"
}
}
- Output for 5.5.33
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.5.33"
}
}
- Output for 5.5.32
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.5.32"
}
}
- Output for 5.5.31
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.5.31"
}
}
- Output for 5.5.30
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.5.30"
}
}
- Output for 5.5.29
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.5.29"
}
}
- Output for 5.5.28
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.5.28"
}
}
- Output for 5.5.27
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.5.27"
}
}
- Output for 5.5.26
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.5.26"
}
}
- Output for 5.5.25
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.5.25"
}
}
- Output for 5.5.24
- object(Config)#1 (1) {
["data":"Config":private]=>
array(6) {
[1]=>
string(30) "PHP code tester Sandbox Online"
["foo"]=>
string(3) "bar"
[2]=>
int(5)
[5]=>
int(89009)
["case"]=>
string(12) "Random Stuff"
["PHP Version"]=>
string(6) "5.5.24"
}
}
preferences:
73.83 ms | 401 KiB | 46 Q