PHP - foreach,使用方法返回值或变量

时间:2015-06-24 14:17:26

标签: php

使用以下两个例子:

foreach($this->fooBar() as $foo => $bar) {
     // do something 
}

$fooBar = $this->fooBar();
foreach($fooBar as $foo => $bar) {
     // do something 
}

使用这两者是否有任何影响,或者两者之间是否应考虑可读性?

1 个答案:

答案 0 :(得分:1)

它基本相同。

在您的第一个示例中,$this->fooBar()的结果存储在内部。

如果您还希望在$fooBar循环之外使用foreach,则第二个示例才有意义。

要了解有关PHP foreach内部的更多信息,以及为什么您不应过多关注示例(和其他类似示例)之间的差异,请查看以下文章:

https://nikic.github.io/2011/11/11/PHP-Internals-When-does-foreach-copy.html