有可能有一个函数有两个返回值,像这样:
function test($testvar)
{
// Do something
return $var1;
return $var2;
}
如果是这样,我怎样才能分别得到每一个回报?
有可能有一个函数有两个返回值,像这样:
function test($testvar)
{
// Do something
return $var1;
return $var2;
}
如果是这样,我怎样才能分别得到每一个回报?
当前回答
是的,你可以使用对象:-)
但最简单的方法是返回一个数组:
return array('value1', 'value2', 'value3', '...');
其他回答
在数组中添加所有变量,然后最终返回数组。
function test($testvar)
{
// do something
return array("var1" => $var1, "var2" => @var2);
}
然后
$myTest = test($myTestVar);
//$myTest["var1"] and $myTest["var2"] will be usable
是也不是。你不能返回一个以上的变量/对象,但如你所建议的,你可以把它们放入一个数组并返回。
数组的嵌套是没有限制的,所以您可以将它们打包并返回。
像这样使用全局变量:
<?php
function t($a)
{
global $add, $noadd;
$add=$a+$a;
$noadd=$a;
}
$a=1;
t($a);
echo $noadd." ".$add;
?>
这将回显12
可以从一个函数返回多个数组和标量
function x()
{
$a=array("a","b","c");
$b=array("e","f");
return array('x',$a,$b);
}
list ($m,$n,$o)=x();
echo $m."\n";
print_r($n);
print_r($o);
PHP仍然使用“out参数”吗?如果是这样,那么可以使用该语法修改函数中的一个或多个参数。在函数返回后,您可以自由地使用修改后的变量。