有可能有一个函数有两个返回值,像这样:
function test($testvar)
{
// Do something
return $var1;
return $var2;
}
如果是这样,我怎样才能分别得到每一个回报?
有可能有一个函数有两个返回值,像这样:
function test($testvar)
{
// Do something
return $var1;
return $var2;
}
如果是这样,我怎样才能分别得到每一个回报?
当前回答
像这样使用全局变量:
<?php
function t($a)
{
global $add, $noadd;
$add=$a+$a;
$noadd=$a;
}
$a=1;
t($a);
echo $noadd." ".$add;
?>
这将回显12
其他回答
我已经实现了这样的多返回值PHP函数。善待你的代码。谢谢你!
<?php
function multi_retun($aa)
{
return array(1,3,$aa);
}
list($one,$two,$three)=multi_retun(55);
echo $one;
echo $two;
echo $three;
?>
你可以通过引用来设置两个或多个变量的值:
function t(&$a, &$b) {
$a = 1;
$b = 2;
}
t($a, $b);
echo $a . ' ' . $b;
输出:
1 2
我也遇到了类似的问题——所以我试了一下,谷歌了一下(找到了这个帖子)。经过5分钟的尝试和错误,我发现你可以简单地使用 "AND"在一行中返回两个(可能更多——尚未测试)。
我的代码:
function get_id(){
global $b_id, $f_id;
// stuff happens
return $b_id AND $f_id;
}
//later in the code:
get_id();
var_dump($b_id);
var_dump($f_id); // tested output by var_dump
它的工作原理。我得到了我期望得到/应该得到的两个值。我希望我能帮助到阅读这篇文章的人:)
允许多次返回的语言通常只是将多个值转换为一个数据结构。
例如,在Python中,您可以返回多个值。但是,它们实际上只是作为一个元组返回。
你可以在PHP中返回多个值只需创建一个简单数组并返回。
像这样使用全局变量:
<?php
function t($a)
{
global $add, $noadd;
$add=$a+$a;
$noadd=$a;
}
$a=1;
t($a);
echo $noadd." ".$add;
?>
这将回显12