• 10-12-2020, 10:01:55
    #1
    php foreach ile bir sayfada 300 adet sonucu listeliyorum.

    her 100 sonuctan sonra ara verip başka şeyler göstermek istiyorum. bı kısım bittikten sonra foreach ile geri kalan sonucun devam etmesini istiyorum.

    Böyle birşey mümkünmü?
  • 10-12-2020, 10:05:14
    #2
    Üyeliği durduruldu
    <?php
    // burayı arrayı doldurmak için kullandım, sizde zaten var bu liste.
    $elemanlar = array_merge(array_fill(0, 100, 'merhaba'), array_fill(0, 100, 'dünyalı'), array_fill(0, 100, 'arkadaş'));
    
    // key kullanmama sebebim her zaman sıralı key ile gelecek diye bir şart yok.
    $i = 0;
    foreach($elemanlar as $eleman) {
        $i++;
        print 'ELEMAN: '.$eleman.'<br/>';
        if($i % 100 == 0) {
            print 'BAŞKA BİR ŞEY<br/>';
        }
    }
    ?>
  • 10-12-2020, 10:05:40
    #3
    foreach($data as $key => $row){
    $key = $key + 1;
    if($key == 100){
    //100 adet veriden sonra 1 defa girer eğer her 100 defa sayımdan sonra basmak istiyorsanız $key % 100 == 0  kullanabilirsiniz
    }
    //veriler
    }
  • 10-12-2020, 10:05:47
    #4
    $i = 0;
    foreach($veriler as $veri) {
    // işlemler
    if($i%100 == 0) {
    // her 100 veriden sonra görüntülenecek olan içerik
    }
    $i++;
    }
  • 10-12-2020, 10:06:39
    #5
    Buyrun:
    $arr = [    "0" => "test",    "1" => "test",    "2" => "test",    "3" => "test"]; 
    foreach ($arr as $key => $value):$key = $key+1;if ($key%100 == 0){echo "yüz oldu";}endforeach;
  • 10-12-2020, 10:08:08
    #6
    Hocam tam demek istediğinizi anlamadım ama eğer öncesinde bir i değeri tanımlayıp daha sonra her döngü sonunda ona +1 ekleyip if döngüsüyle i nin 100 e eşit olduğu durumda sizin yazdığınız kodun çalışmasını sağlayın.
    Edit: yukarıda arkadaşlar kodu zaten yazmış