如何访问函数返回的数组的键值
问题描述:
我想直接从函数的返回值访问数组。如何访问函数返回的数组的键值
e.g.
$arr = find_student();
echo $arr['name'];
// I want to be able to do
echo find_student()['name']
我怎样才能达到同样的?没有另一行代码?
答
一个链接,你不能:)
function find_student() {return array('name'=>123);}
echo find_student()['name'];
结果: 解析错误:语法错误,意想不到的 '[',希望 '' 或 ';'
答
您可以使用ArrayObject做类似的事情。
function find_student() {
//Generating the array..
$array = array("name" => "John", "age" => "23");
return new ArrayObject($array);
}
echo find_student()->name;
// Equals to
$student = find_student();
echo $student['name'];
下降是你不能使用本地阵列功能,如array_merge()
对此。但是你可以像访问数组一样访问数据,就像访问对象一样。
+0
是的,我想这是这样做的一种方法。谢谢 – 2012-01-12 09:24:55
+0
另外,如果你想使用数组函数,你可以这样做:(array)find_student(); – Prof83 2012-11-21 22:54:35
你想要什么都做不到。你必须首先给返回值赋予一个变量 – jere 2012-01-11 12:36:47
等待PHP 5.4的几个星期/几个月(我相信)确实允许这种语法 – 2012-01-11 12:43:42