将函数返回结果传递给foreach循环

She*_*rms 10 php

出于好奇,以下两个选项在功能上是否相同?

$array_variable = function_that_creates_an_array();
foreach($array_variable as $a){
    do_something()
}
Run Code Online (Sandbox Code Playgroud)

foreach(function_that_creates_an_array() as $a){
    do_something()
}
Run Code Online (Sandbox Code Playgroud)

只是想确保我没有在每次迭代时调用函数或者像这样愚蠢的任何东西.

谢谢!

Pet*_*tah 11

是的,它们基本相同.

唯一的区别是第一个将向当前范围添加变量(即,如果您在全局范围内).