2011-06-09 152 views
10

出於好奇,以下兩個選項在功能上等效嗎?將函數返回結果傳遞給foreach循環

$array_variable = function_that_creates_an_array(); 
foreach($array_variable as $a){ 
    do_something() 
} 

foreach(function_that_creates_an_array() as $a){ 
    do_something() 
} 

只是想確保我沒有要求在每個迭代上或任何啞類似的功能。

謝謝!

回答

11

是的,它們基本上是等效的。

唯一的區別是第一個會將變量添加到當前範圍(即如果您在全局範圍內)。

0

簡而言之,他們在功能上是一樣的。