好的,这可能会令人困惑。我正在尝试为自己创建一个配置类,我希望它的用法是这样的:
$this->config->add('world', 'hello');
// This will create array('hello' => 'world')
现在我的问题是,如果我想将我的值添加到一个不存在但想使用类似这样的东西创建它的多维数组中:
$this->config->add('my value', 'hello => world');
// This should create array('hello' => array('world' => 'my value'))
$this->config->add('my value', 'hello => world => again');
// This should create array('hello' => array('world' => array('again' =>'my value')))
我无法转换'hello => world'
为值设置为最后一个数组元素的数组。
这就是我到目前为止所拥有的。
public function add($val, $key = null)
{
if (is_null($key))
{
$this->_config = $val;
} else {
$key = explode('=>', str_replace(' ', '', $key));
if (count($key) > 1)
{
// ?
} else {
if (array_key_exists($key[0], $this->_config))
{
$this->_config[$key[0]][] = $val;
} else {
$this->_config[$key[0] = $val;
}
}
}
}