在下面的代码中:
function a(){
echo 'a';
return array(1,2,3,4);
}
foreach(a() as $t){
echo $t;
}
我们可以看到 a() 仅被调用一次,并且返回值似乎被缓存了......
但后来我看到这场辩论(参见对该问题的评论) https://stackoverflow.com/questions/1013493/coalesce-function-for-php我错过了什么吗?
不,你的测试是结论性的。
多次计算第一个表达式是没有意义的。这是 foreach 循环的基本前提。
A for
循环有三个参数,并且每次迭代都会计算第二个和第三个参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)