Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中执行foreach?_Php_Foreach - Fatal编程技术网

如何在PHP中执行foreach?

如何在PHP中执行foreach?,php,foreach,Php,Foreach,上面的函数只调用func()一次,但为什么?到底发生了什么?无需多次调用函数-它应该返回一个可以迭代的数组。foreach接受数组。实际上,您自己只调用一次func(),并将结果数组传递给foreach构造,该构造可以在其上循环。不是一个控制结构,它的条件在每次迭代之前或之后都会进行测试,例如while、for或do…while。相反,它获取一个数组,在内部生成一个副本,并对其进行迭代 数组可以通过变量(最常用的变量)传递: 或者使用另一个在求值时返回数组的表达式: foreach ($arr

上面的函数只调用
func()
一次,但为什么?到底发生了什么?

无需多次调用函数-它应该返回一个可以迭代的数组。

foreach接受数组。实际上,您自己只调用一次func(),并将结果数组传递给foreach构造,该构造可以在其上循环。

不是一个控制结构,它的条件在每次迭代之前或之后都会进行测试,例如
while
for
do…while
。相反,它获取一个数组,在内部生成一个副本,并对其进行迭代

数组可以通过变量(最常用的变量)传递:

或者使用另一个在求值时返回数组的表达式:

foreach ($arr as $val) { /* … */ }

你有什么代码示例要展示吗?有了真正的代码,我们可以帮助您获得更多的帮助并给出更好的答案。我认为当您评估
foreach
循环以证明它时,这是显而易见的。为您在
func()
@user198729()中调用的函数添加一个回音或日志:如果您愿意阅读PHP手册,您可以自己“证明”。证据是您看到、体验、阅读的任何东西,或者被告知这会让你相信某件事是真的或确实发生了“现象不是证据”如果你证明它存在,我会投票支持你的问题。它不是一个结构,它是什么?@user198729:我没说它不是一个控制结构。我只是说它不是一个控制结构,它的条件在每次迭代中都会被测试。
foreach ($arr as $val) { /* … */ }
foreach (array('foo','bar') as $val) { /* … */ }

function f() { return array('foo','bar'); }
foreach (f() as $val) { /* … */ }