PHPのforeachで繰り返し回数を制限する

for文で、繰り返し回数を変数iとかに入れて、入れて$i <= 5とかして、インクリメントするコードはよく見るのだけど、foreachだと、全部処理されて困ってた。

例えば繰り返し処理を5回でやめようとして、
$cnt = 0;
if ($cnt < 6){
foreach ( $XML->item as $entry ) {
    $title = $entry->title;
    $link = $entry->link;
    $description = $entry->description;
    $date = $entry->date;
    echo “<p><h3><a href=’$link’ target=’_blank’>$title</a></h3>$description<br><br>$date<p>”;
$cnt++;
}
}
こんな風に書いても動かない。
$cnt = 0;
foreach ( $XML->item as $entry ) {
if ($cnt >= 5){
break;
}else{
    $title = $entry->title;
    $link = $entry->link;
    $description = $entry->description;
    $date = $entry->date;
    echo “<p><h3><a href=’$link’ target=’_blank’>$title</a></h3>$description<br><br>$date<p>”;
$cnt++;
}
}
こう書くと動いた。
これなんで?
よくわからないまま、一旦先に進みます。あとで調べよう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA