什么导致php foreach循环终止?

什么导致php foreach循环终止?,php,loops,foreach,terminate,Php,Loops,Foreach,Terminate,我的一个foreach循环出现了问题,循环的一部分在一次迭代后终止,没有输出或错误 在网上搜索答案后,我仍然不知道这个问题的任何可能原因(代码太大,对社区没有用处……) 因此,我的问题是,“foreach循环在一次迭代后终止的可能原因是什么?”(假设需要更多的迭代)有多种方法可以停止foreach循环。以下是几个例子: <?php $range = range(1,10); // continue; foreach($range as $r){ if($r!=1){

我的一个foreach循环出现了问题,循环的一部分在一次迭代后终止,没有输出或错误

在网上搜索答案后,我仍然不知道这个问题的任何可能原因(代码太大,对社区没有用处……)


因此,我的问题是,“foreach循环在一次迭代后终止的可能原因是什么?”(假设需要更多的迭代)

有多种方法可以停止foreach循环。以下是几个例子:

<?php
$range = range(1,10);

// continue;
foreach($range as $r){
    if($r!=1){
        continue;
    }
    echo $r.'<br>';
}

// break;
foreach($range as $r){
    if($r>1){
        break;
    }
    echo $r.'<br>';
}

// die;
foreach($range as $r){
    if($r>1){
        die;
    }
}

它仅适用于数组和对象,当您尝试在具有不同数据类型的变量或未初始化的变量上使用它时,将发出错误


我认为您必须遵循此链接才能更好地了解foreach循环。

可能是
中断
指令。
中断
死亡
返回
都可以完全取消foreach,
继续
可以跳过迭代,但不会中断循环。
“循环的一部分仅在一次迭代后终止”
=数组中的一项。@vascowhite
(假设需要更多迭代)
@Sammaye这一假设可能是错误的,很多人都是错误的。
continue
不会终止循环,而是跳到下一个索引。是的,我在底部添加了这一点。如果他遇到这种情况,foreach将抛出致命错误,甚至不会进入第一次迭代。