是否可以將變量變量用作數組前綴?我有一組格式爲$x_settings
的數組,我想輸出只有一個的值,具體取決於哪個前綴符合條件。使用變量變量作爲數組前綴
這是更爲複雜的代碼非常精簡版本,所以謝謝你的放縱:
$current_env = 'local';
$local_settings = array
(
'debug' => TRUE,
'cake' => TRUE,
'death' => FALSE
);
$environments = array
(
'local',
'dev',
'prod'
);
foreach($environments as $env)
{
if($current_env == $env)
{
define('DEBUG', ${$env}_settings['debug']);
define('CAKE', ${$env}_settings['cake']);
define('DEATH', ${$env}_settings['death']);
break;
}
}
正如你可以看到我嘗試使用${$env}_settings[]
但給了我一個PHP錯誤:
unexpected '_settings' (T_STRING)
可能嗎?
爲什麼你不能只使用二維數組? –
'$ current_env = $ env'是** always ** true,因爲這意味着「將'current_env設置爲$ env'的值。你的意思是條件運算符'=='還是'==='? – h2ooooooo