什么导致php foreach循环终止?
我的一个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循环。以下是几个例子:
<?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将抛出致命错误,甚至不会进入第一次迭代。