我該如何讓這段代碼更高效/更動態,所以如果我需要傳遞更多的參數,它是動態的?PHP func_get_args()動態數組搜索
因爲現在在這一點上它是一個有點亂,我喜歡我的代碼是乾淨的,simpel :)
protected function getSettings()
{
$args = func_get_args();
switch (func_num_args()) {
case 1:
$set = (isset($this->settings[ $args[0] ]))
? $this->settings[ $args[0] ]
: array();
break;
case 2:
$set = (isset($this->settings[ $args[0] ][ $args[1] ]))
? $this->settings[ $args[0] ][ $args[1] ]
: array();
break;
case 3:
$set = (isset($this->settings[ $args[0] ][ $args[1] ][ $args[2] ]))
? $this->settings[ $args[0] ][ $args[1] ][ $args[2] ]
: array();
break;
case 4:
$set = (isset($this->settings[ $args[0] ][ $args[1] ][ $args[2] ][ $args[3] ]))
? $this->settings[ $args[0] ][ $args[1] ][ $args[2] ][ $args[3] ]
: array();
break;
case 5:
$set = (isset($this->settings[ $args[0] ][ $args[1] ][ $args[2] ][ $args[3] ][ $args[4] ]))
? $this->settings[ $args[0] ][ $args[1] ][ $args[2] ][ $args[3] ][ $args[4] ]
: array();
break;
default:
$set = $this->settings;
break;
}
return $set;
}
爲什麼你會有這麼多的嵌套設置?也許你應該重新考慮這個... –