Yas*_*rük 1 php foreach nested-loops
我尝试创建一个带有嵌套 foreach 循环的列表。第一个循环是循环一些数字,第二个循环是循环日期。我想写一个数字到一个日期。所以还有一个函数来检查它。但结果是数字多次写入日期。
出来是这样的:
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;
Run Code Online (Sandbox Code Playgroud)
编码 :
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);
}
Run Code Online (Sandbox Code Playgroud)
我认为内部循环不会中断。
你break;应该打破内部 foreach 循环!
我看到这种行为的唯一原因是在你的数组中重复数字!(例如$numers=array(5,5,5,6,6);)
尝试插入:$numbers=array_unique($numbers);在你的外部 foreach 循环之前
如果你需要打破两个循环(内部和外部)写break 2;而不是break;