Ben 3 tekrarlamalar sonra bu foreach döngüsü nasıl durdurmak istiyorsunuz?

3 Cevap

İşte döngü.

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>";

3 Cevap

break komutu ile.

Eğer olsa bir parantez eksik.

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

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

http://php.net/manual/en/control-structures.break.php: at break komutu hakkında daha fazla bilgi

Güncelleme: Kyle Eğer döngü kırmak istiyorsanız kullanın for yerine daha iyi belirttiği gibi, foreach. Temelde akışının daha fazla kontrole sahip ve okunabilirliği kazanç. Dizideki elemanları contiguous and indexable (işaret Colonel Sponsz gibi) ise sadece bunu unutmayın

Kodu olacaktır:

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

Daha temiz, daha bug-geçirmez (kontrol değişkenleri tüm for deyimi içinde olan), ve sadece bunu idam edilecek kaç kez biliyorum okuma. Mümkünse break / continue kaçınılmalıdır.

  • Döngü önce bir değişken bildirmek, 0 başlatılamıyor.
  • Için-her gövdesinin başında şekilde arttıracaktır.
  • Check variable at the end of the body of for-each.
    • Bu 3 ise, break.

Sen için-her vücudun diğer break / continue var olabilir, ama sizin durumunuzda yok, bu yüzden bu işe çünkü bu tekniği ile dikkatli olmak zorunda.

Döngünün uzaklaştırmak bazı sayacını $i artırmak ve break; bu örneğin, 3 ulaştığında:

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