我有一个有这种方法的课程:
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'];
输出数组值的正确语法是什么?
答案 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'];