php - 我应该如何在函数中返回多个变量(最佳实践)?

标签 php micro-optimization

只是想知道对于这样的事情最好的做法是什么:

一个返回多个变量的函数 - 应该如何返回这些变量?

像这样(全局化):

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/

相关文章:

php - 将两个sql查询连接成一个内容不重复的sql查询

php - php上传文件时group和owner权限错误

optimization - 优化 TI-BASIC 中的代码实际上会产生影响吗?

performance - 汇编-如何通过延迟和吞吐量对CPU指令进行评分

algorithm - Go:多个 len() 调用与性能?

javascript - 在表单加载时显示 Ajax 示例结果

php - 拦截 Laravel 路由

php - 仅在 IE 中的 CSS 问题

php - 优化php中的大导入

c++ - std::vector-like 类优化以容纳少量项目