foreachループを中断したいと思います。 50回のループを行い、「50個のメールが送信された」というメッセージを表示してから、次の50分間foreachを続行し、メッセージをもう一度表示し、続けるなど...foreachのリミット番号は、メッセージを表示するために反復しています。
これを行う方法はありますか?
マイループ:あなたの意図を1として
$i = 0;
foreach ($users as $user) {
if(!in_array($user->getEmail(), $receivers)){
$recipient = $user->getEmail();
$this->get('MailerHelper')->sendMessage('..,$recipient,..');
}
$i++;
if($i % 50 == 0){
printf('50 Emails sent.');
}
}
あなたのインデントを修正してください。それはあなたの質問をより読みやすくします。 –
申し訳ありません、あなたは正しいです – sonja
ループ内で変数を作成して、 '$ i'のような反復を数え、ループ内で' $ i ++ 'を実行してください。ループの中で、 '$ i%50 == 0'のif文を書くことができます(つまり、$ iは50で割り切れます)。ループから脱出する必要はありません。 –