是否可以内联访问PHP数组?

Ale*_*lex 1 php arrays

在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)

Bab*_*aba 6

它工作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)