foreach ループの 1 つで、ループの一部が 1 回の繰り返しで終了し、出力やエラーが発生しないという問題がありました。
Web で回答を検索した後も、この問題の考えられる原因はまだわかりません (そして、コードが大きすぎてコミュニティにとって役に立ちません...)。
したがって、私の質問は、「foreach ループが 1 回の反復で終了する原因として考えられるものは何ですか?」ということです。(より多くの反復が必要であると仮定)
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;
}
}
注: continue
foreach ループから抜け出すことはありませんが、データ行が「スキップ」される可能性があります。
配列とオブジェクトでのみ機能し、異なるデータ型の変数または初期化されていない変数で使用しようとするとエラーが発生します。
foreach ループに関する知識を深めるには、このリンクhttp://php.net/manual/en/control-structures.foreach.phpをたどる必要があると思います。