Как бы остановить этот цикл 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="http://www.twitter.com/'.$result->from_user.'">'.$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>"; 

С командой 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

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

Код будет выглядеть следующим образом:

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

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

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

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

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

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