嵌套的foreach循环,在循环内中断 [英] Nested foreach loop, break inside loop
本文介绍了嵌套的foreach循环,在循环内中断的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我尝试用嵌套的foreach循环创建一个列表.第一个循环是循环一些数字,第二个循环是循环日期.我想在一个日期上写一个数字.因此,还有另一个功能可以进行检查.但是结果是数字多次写在日期上.
I try to create a list with nested foreach loop. First loop is looping some numbers, second loop is looping dates. I want to write one number to one date. So there is a another function to check that. But the result is numbers writes on dates multiple times.
出来是这样的:
number 5 is on 2013.01.15;
number 5 is on 2013.01.16;
number 5 is on 2013.01.17;
number 6 is on 2013.01.15;
number 6 is on 2013.01.17;
代码:
function create_event($numbers,$available_dates) {
foreach($numbers as $number) {
foreach($avaliable_dates as $av_date) {
$date_check= dateCheck($av_date,$number);
if ($date_check == 0) {
echo "number ".$number." is on ".$av_date;
break;
} else {
$send_again[] = $number;
}
}
}
create_event($send_again,$avaliable_dates);
}
我认为内部循环不会中断.
I think inside loop is not break.
推荐答案
可以检查以下内容吗?
function create_event($numbers,$available_dates) {
foreach ($numbers as $number) {
foreach ($available_dates as &$av_date) {
if (dateCheck($av_date, $number) == 0) {
unset($av_date);
break;
}
}
}
}
这篇关于嵌套的foreach循环,在循环内中断的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文