PHP:如何回显返回数组方法?

时间:2014-01-27 17:57:01

标签: php arrays

我有一个有这种方法的课程:

public function user_status()
    {    
            $json = //some code here...
            $result = json_decode($json, true);
            $status = array(
                'key1' => $val1,
                'key2' => $val2
            );
            return $status;

    } 

这样打电话时:

$user = new Class();
echo $user->user_status();

它只返回Array这个词 但是在倾销时如此:

echo "<pre>User: ", print_r($user->user_status(), TRUE), "</pre>";

按预期打印数组:

User: Array
(
    [key1] => val1
    [key2] => val2
)

我想输出数组值,所以我尝试调用它,如下面但它给我一个解析错误。

echo $user->user_status()->['key2'];

输出数组值的正确语法是什么?

4 个答案:

答案 0 :(得分:7)

在PHP 5.3或更早版本中:

$array = $user->user_status();
echo $array['key2'];

在PHP 5.4及更新版本中:

echo $user->user_status()['key2'];

PHP 5.4引入了数组解引用,它允许我们稍微缩短语法。

答案 1 :(得分:3)

尝试

echo $user->user_status()['key2'];

user_status()本身的返回值是一个数组,因此您可以将函数调用视为变量的名称&#34;。

答案 2 :(得分:3)

$status = $user->user_status();
echo $status['key2'];

答案 3 :(得分:2)

这是语法

$array = $user->user_status();

echo $array['key2'];