只是想知道对于这样的事情最好的做法是什么:
一个返回多个变量的函数 - 应该如何返回这些变量?
像这样(全局化):
function myfun(){
global $var1,$var2,$var3;
$var1="foo";
$var2="foo";
$var3="foo";
}//end of function
或者像这样(返回一个数组):
function myfun(){
$var1="foo";
$var2="foo";
$var3="foo";
$ret_var=array("var1"=>$var1,"var2"=>$var2,"var3"=>$var3);
return $ret_var;
}//end of function
我做了一个性能测试,看起来使用数组更快(几次刷新后):
array took: 5.9999999999505E-6
global took: 2.0999999999938E-5
但我很想知道对于像这样的简单情况,哪种方法最适合实践?
最佳答案
你绝对应该返回一个数组。这就清楚多了。您甚至可以使用 list
构建模拟多个返回值 a-la python:
function foon() {
return array('one', 'two', 'three');
}
list($one, $two, $three) = foon();
编辑:在某些情况下,关联数组也非常合适。我无法想象性能差异会导致这种清晰度的损失。
关于php - 我应该如何在函数中返回多个变量(最佳实践)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10554375/