加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 在函数范围之外引用变量的哪种方法更好?

发布时间:2020-12-13 21:43:19 所属栏目:PHP教程 来源:网络整理
导读:我可以通过以下两种方式之一更改函数中的$var:通过引用传递它或使用global关键字. $var1 = 10;function test1() { global $var1; $var1++;}function test2($var) { $var++;} 两种方法都有相同的结果,但它们之间有什么区别吗?哪一个更受欢迎哪一个更快? 解
我可以通过以下两种方式之一更改函数中的$var:通过引用传递它或使用global关键字.

$var1 = 10;

function test1() {
    global $var1;
    $var1++;
}

function test2(&$var) {
    $var++;
}

两种方法都有相同的结果,但它们之间有什么区别吗?哪一个更受欢迎哪一个更快?

解决方法

1.他们都不是首选.

除非你有特殊的理由不这样做,否则首选的是

$var1 = 10;
$var1 = test3($var1);
function test3($var)
{
    return $var + 1;
}

引入程序不同部分之间的耦合(如果使用全局)是您应该总是合理地避免的事情.

另外,如果没有具体的理由让你的函数通过引用接受它的参数,你也应该避免这样做.所有函数中只有非常微小的一部分就是这样的,所以如果没有别的东西,那么使用这些代码的开发人员之间就不会产生混淆.

你不需要考虑哪一个更快.

除非您在真实场景下对应用程序进行了分析,并且发现此函数是一个瓶颈(当然它永远不会以这种简单的形式出现),然后以编写清晰且可维护的代码为代价优化性能不仅毫无意义,但也有害.

作为奖励,我应该提到使用引用可能实际上使函数slower.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读