返回一个数组并不像一个数组

时间:2012-11-29 16:01:28

标签: php arrays return

我想知道为什么这不起作用。

至少从PHP 5.3开始,返回对象的函数或类方法就像一个对象。

<?php

class A {
function test() {
    echo "Yay!";
    }
}

function get_obj() {
    return new A();
}


function get_array() {
    return array("foo", "bar", "hallo", "world");
}

get_obj()->test();  // "works
echo get_array()[1]; // and this fails 
?>

我在http://php.net/manual/en/functions.returning-values.php

找到了这个

有人会澄清为什么它不适用于数组但适用于对象。

编辑:

添加了get_array()

2 个答案:

答案 0 :(得分:3)

在PHP 5.4中,

函数数组解除引用是added,所以除非你使用5.4+,否则你必须这样做

$temp = get_array();
echo $temp[0];

答案 1 :(得分:0)

get_array()在某处定义了吗?如果是,请粘贴该代码。