PHP:获取数组元素

Alb*_*ert 6 php arrays

为什么这段代码不起作用?

echo explode("?", $_SERVER["REQUEST_URI"])[0];
Run Code Online (Sandbox Code Playgroud)

它说syntax error, unexpected '['.

奇怪的是,这有效:

$tmp = explode("?", $_SERVER["REQUEST_URI"]);
echo $tmp[0];
Run Code Online (Sandbox Code Playgroud)

但我真的想避免在$tmp这里创建这样一个变量.

我如何解决它?


在有用的答案之后,还有一些问题:语言的设计是否有任何充分的理由使其无法实现?或者PHP实现者没有想到这个?或者由于某些原因难以实现这一点?

bco*_*sca 5

与Javascript不同,PHP无法在函数后寻址数组元素.您必须将其拆分为两个语句或使用array_slice().


J C*_*per 3

当前 PHP 解析器的一个(愚蠢的)限制是您的第一个示例不起作用。然而,据说 PHP 的下一个主要版本将解决这个问题。