0

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

至少从 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()

4

2 回答 2

3

函数数组解引用是在 PHP 5.4 中添加的,所以除非你在 5.4+ 上,否则你必须这样做

$temp = get_array();
echo $temp[0];
于 2012-11-29T16:04:39.567 回答
0

get_array()某处定义?如果是这样,请粘贴该代码。

于 2012-11-29T16:02:47.167 回答