PHP中的数组引用行为

时间:2011-03-24 10:39:45

标签: php

对于我的生活,我无法理解这种被遗弃的语言。这样:

$x = explode(' ', 'a b c');
echo $x[0];

工作得很好。但是:

echo explode(' ', 'a b c')[0];

返回错误。是什么给了什么?

3 个答案:

答案 0 :(得分:4)

只是语法错误,您只能对PHP中的变量使用数组括号[]

示例:

echo $x[0];

答案 1 :(得分:2)

PHP解析器不支持该语法。它被称为数组解除引用,已经添加到PHP主干中。

答案 2 :(得分:1)

你可以在PHP 5.4中做到这一点 ...是时候升级了。

the manual

  

从PHP 5.4开始,可以对a的结果进行数组解除引用   函数或方法直接调用。之前它只能使用一个   临时变量。

     

从PHP 5.5开始,可以对数组取消引用数组文字。

<?php
function getArray() {
    return array(1, 2, 3);
}

// on PHP 5.4
$secondElement = getArray()[1];

// previously
$tmp = getArray();
$secondElement = $tmp[1];

// or
list(, $secondElement) = getArray();
?>