Подтвердить что ты не робот

Как бы остановить этот цикл foreach после 3 итераций?

Вот цикл.

foreach($results->results as $result){
    echo '<div id="twitter_status">';
    echo '<img src="'.$result->profile_image_url.'" class="twitter_image">';
    $text_n = $result->text; 
    echo "<div id='text_twit'>".$text_n."</div>";
    echo '<div id="twitter_small">';
    echo "<span id='link_user'".'<a href="#" onclick="location.href='http://www.twitter.com/'.$result->from_user.''; return false;">'.$result->from_user.'</a></span>';
    $date = $result->created_at;

    $dateFormat = new DateIntervalFormat();

    $time = strtotime($result->created_at);

    echo "<div class='time'>";

    print sprintf('Submitted %s ago',  $dateFormat->getInterval($time));

    echo '</div>';

    echo "</div>";
    echo "</div>";
4b9b3361

Ответ 1

С командой break.

Вам не хватает скобки, хотя.

$i=0;
foreach($results->results as $result){
//whatever you want to do here

$i++;
if($i==3) break;
}

Более подробную информацию о команде break найти по адресу: http://php.net/manual/en/control-structures.break.php

Обновление: Как Кайл указал, если вы хотите, чтобы разорвать петлю лучше использовать for нежели foreach. По сути, у вас больше контроля над потоком, и вы получаете удобочитаемость. Обратите внимание, что вы можете сделать это только в том случае, если элементы в массиве являются смежными и индексируемыми (как указал полковник Спонс)

Код будет:

for($i=0;$i<3;$i++){
$result = $results->results[i];
//whatever you want to do here
}

Он более чистый, более защищенный от ошибок (все управляющие переменные находятся внутри оператора for), и, просто прочитав его, вы узнаете, сколько раз он будет выполнен. следует по возможности избегать break/continue.

Ответ 2

  • Объявить переменную перед циклом, инициализировать до 0.
  • Приращение переменной в начале тела для каждого.
  • Проверьте переменную в конце тела для каждого.
    • Если это 3, break.

Вы должны быть осторожны с этим методом, потому что в теле для каждого тела может быть другой break/continue, но в вашем случае его нет, так что это сработает.

Ответ 3

Настройте некоторый счетчик $i в начале цикла и break;, когда он достигнет 3, например:

if ($i++ == 3)
    break;

Ответ 4

foreach($results->results as $i => $result){ 
   if($i==3) break; 
   //whatever you want to do here 
}

Ответ 5

Просто когда условие выполнено, цикл автоматически завершается

<?php 
$i=0;
foreach($data as $$key=$value){
echo $value;
$i++;
if($i==3) break;
} ?>