在PHP中,我有以下构造
$a = array(-1 => '-', 0 => '?', 1 => '+')[1];
Run Code Online (Sandbox Code Playgroud)
这给出了语法错误.是否仍然可以在一个方便的行中执行此类操作,避免多个if/else clases或switch/select语句?我正在考虑在python这里工作正常:
a = {-1:'-', 0:'?', 1:'+'}[1]
Run Code Online (Sandbox Code Playgroud)
它工作PHP但只有5.5.0alpha1 - 5.5.0beta2你现在应该使用变量,直到稳定版本发布.
$array = array(-1 => '-', 0 => '?', 1 => '+');
print $array[1];
Run Code Online (Sandbox Code Playgroud)
另一个有趣的事情是PHP支持函数数组解除引用,PHP 5.4这意味着只需将数组包装在函数中就可以使它工作
function __($_) {
return $_;
}
print __(array(-1 => '-', 0 => '?', 1 => '+'))[1];
Run Code Online (Sandbox Code Playgroud)