使用以下两个例子:
foreach($this->fooBar() as $foo => $bar) {
// do something
}
与
$fooBar = $this->fooBar();
foreach($fooBar as $foo => $bar) {
// do something
}
使用这两者是否有任何影响,或者两者之间是否应考虑可读性?
答案 0 :(得分:1)
它基本相同。
在您的第一个示例中,$this->fooBar()
的结果存储在内部。
如果您还希望在$fooBar
循环之外使用foreach
,则第二个示例才有意义。
要了解有关PHP foreach
内部的更多信息,以及为什么您不应过多关注示例(和其他类似示例)之间的差异,请查看以下文章:
https://nikic.github.io/2011/11/11/PHP-Internals-When-does-foreach-copy.html