我有一個靜態數組屬性無法通過關鍵
private static $config = array(
'base_url' => '',
'environment' => '',
'database' => array(
'dbdriver' => '',
'dbhost' => '',
'dbname' => '',
'dbuser' => '',
'dbpass' => ''
),
'default_controller' => ''
);
有是關鍵
public static function set($key, $value)
{
if(isset(self::$config[$key]))
self::$config[$key] = $value;
else
{
foreach (self::$config as $i => $j)
{
if(!is_array($j))
continue;
foreach ($j as $k => $v)
{
if($k == $key)
{
$j[$k] = $value;
break;
}
}
}
}
}
現在,這部作品在設置項的值的靜態方法來設置多維數組的值base_url的情況下,環境等,但是當我在做Config::set('dbdriver', 'PDO')
它不起作用。另外我不知道如果嵌套數組變得更深,如何處理它。
請幫我解決這個問題,或者我也歡迎任何好的解決方案。
感謝
這個問題的答案看起來像它會爲你工作:http://stackoverflow.com/questions/15483496/how-to-dynamically-set-value-in-multidimensional-array-by-reference – rodamn