2
foreach(functionWithComplicatedComputationReturningAnArray()as $ key => $ value)PHP:foreachの本体での操作は複数回呼び出されますか?
上記のコードは、この関数を複数回呼び出しますか?
一般的に、この点に関して、関数呼び出しをパラメータとして受け入れるPHP言語構造については、ルールがありますか?
おかげ
Gidi
foreach(functionWithComplicatedComputationReturningAnArray()as $ key => $ value)PHP:foreachの本体での操作は複数回呼び出されますか?
上記のコードは、この関数を複数回呼び出しますか?
一般的に、この点に関して、関数呼び出しをパラメータとして受け入れるPHP言語構造については、ルールがありますか?
おかげ
Gidi
いいえ、それは一度呼び出されます。この(第二つforeach
ループ外の値を漏洩するという事実を無視して)
$tmp = functionWithComplicatedComputationReturningAnArray();
foreach ($tmp as $key => $value) {
...
}
:
foreach (functionWithComplicatedComputationReturningAnArray() as $key => $value) {
...
}
は、意味的に等価です。
PHPドキュメントには言及していません。 – ThiefMaster
ありがとうございます、他のループはどうですか? while($ someVar
shealtiel
ここではすべての繰り返しが呼び出されます。関数func()にエコーしてみると、それが見えます。 –