Php 直接使用函数中的数组,无需先指定变量
我很好奇是否可以在一行上为一个变量指定PHP函数返回的特定数组索引值的值 现在我有一个函数,它返回一个关联数组,我用两行代码做我想做的事情Php 直接使用函数中的数组,无需先指定变量,php,arrays,function,variables,return-value,Php,Arrays,Function,Variables,Return Value,我很好奇是否可以在一行上为一个变量指定PHP函数返回的特定数组索引值的值 现在我有一个函数,它返回一个关联数组,我用两行代码做我想做的事情 $var = myFunction($param1, $param2); $var = $var['specificIndex']; 在不添加确定返回类型的参数的情况下,有没有一种方法可以在一行中执行此操作?您可以添加一个额外的可选参数,如果设置了,将返回该值。请参阅以下代码: function myFunction($param1, $param2, $
$var = myFunction($param1, $param2);
$var = $var['specificIndex'];
在不添加确定返回类型的参数的情况下,有没有一种方法可以在一行中执行此操作?您可以添加一个额外的可选参数,如果设置了,将返回该值。请参阅以下代码:
function myFunction($param1, $param2, $returnVal = "")
{
$arr = array();
// your code here
if ($returnVal)
{
return $arr[$returnval];
}
else
{
return $arr;
}
}
在PHP5.4中,您可以这样做:
$var=myFunction(param1,param2)['specificIndex']代码>
另一种选择是了解数组的顺序,并使用。请注意,list
仅适用于数字数组
例如:
function myFunction($a, $b){
// CODE
return array(12, 16);
}
list(,$b) = myFunction(1,2); // $b is now 16
这是一个很好的答案。列表(,$b)
可能不是可读性最好的语法(在我看来)。@user1477388:我知道,但这只是一个例子。遗憾的是,我的服务器使用的是PHP5.2。谢谢你的列表选项,我只是想说有更好的方法来解决这个问题。我想用一行:return($returnVal)$arr[$returnVal]:$arr代码>@FabianoLothor:如果你愿意,请随时发布@是的,这也是一个选择。为了获得最佳可读性,我将我的文章作为一个简单的if
语句发布。