【发布时间】:2011-11-21 18:45:53
【问题描述】:
如果我有这样的功能:
function foo(){
return array("hello" => "world");
}
我不能像这样调用函数并对返回值进行操作
$test = foo()["hello"];
相反,我必须像这样将它分成两行
$test = foo();
$test = $test["hello"];
有没有办法解决这个问题?如果不是,为什么 PHP 会强制执行此操作。另外,如果有任何后果,foo() 实际上会返回一个二维数组。
【问题讨论】:
-
只是好奇.. 您能否与我们分享一下您为什么要寻找一种方法来绕过从函数中分配值的现有方法?
-
@Nonym +1 因为没有厚颜无耻地要求知道我为什么问这个问题
-
我正在构建一些辅助函数来处理 sql 查询。有时返回的数组是单列数组(即主键),有时它是多列数组(即名字、姓氏、昵称)。在前者的情况下,我只想一次获得主键。
-
所以..就像 PHP 已经拥有的单行 if-then-else 语句一样......这也应该是一个很好的新单行......很高兴它似乎正在为 PHP 工作5.4!
-
@Nonym 我也喜欢
(<cond>) ? something : somethingElse,这应该是一个很好的补充
标签: php function return-value