• 15-12-2009, 19:17:31
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba,

    Bir foreach döngüm var. Döngü sonunda 10 tane veri geliyor. Daha doğrusu başlattığım döngü 10 kere dönüyor.

    Ben bu döngünün 1 kere dönüp durmasını istiyorum.

    Kod şöyle:
    		foreach($veriler as $veri)
    		{
    
    			if(empty($veri['ilk']))
    			{
    				$veri['ilk'] = substr($veri['iki'], 0, 60);
    			}
    			$sonuc = html_entity_decode($veri['ilk']);
    	        echo $sonuc;
    		}
    Çıktısıda,
    Çıktı Yazısı 1Çıktı Yazısı 2Çıktı Yazısı 3Çıktı Yazısı 4Çıktı Yazısı 5Çıktı Yazısı 6Çıktı Yazısı 7Çıktı Yazısı 8Çıktı Yazısı 9Çıktı Yazısı 10
  • 15-12-2009, 19:23:11
    #2
    foreach($veriler as $veri)
    {

    if(empty($veri['ilk']))
    {
    $veri['ilk'] = substr($veri['iki'], 0, 60);
    }
    $sonuc = html_entity_decode($veri['ilk']);
    echo $sonuc;
    break;
    }
  • 15-12-2009, 19:25:51
    #3
    Teşekkürler. Bu şekilde çalıştı. Ama aklıma birşey takıldı misal ben 1 kere çalışıp durmasını değil de 3 kere çalışıp durmasını sağlayabilirmiyim? Yani gelecek verinin ilk 3'ünü alabilirmiyim? Bu sayı değişebilir.
  • 15-12-2009, 19:35:32
    #4
    Biraz araştırma ile şöyle yapılacağını buldum.
    Buyrun,

    $i=1;
    $limit=4;
    foreach($veriler as $veri)
    {
    if(empty($veri['ilk']))
    {
    $veri['ilk'] = substr($veri['iki'], 0, 60);
    }
    $i=$i+1;
    $sonuc = html_entity_decode($veri['ilk']);
    echo $sonuc;
    if ($i>$limit) {
    break;
    }
    }
  • 15-12-2009, 19:39:32
    #5
    Üyeliği durduruldu
         
    $limit = 3;   
    foreach($veriler as $veri)
    {
        if (($x += 1) > $limit) break;
        if(empty($veri['ilk']))
        {
            $veri['ilk'] = substr($veri['iki'], 0, 60);
        }
        $sonuc = html_entity_decode($veri['ilk']);
        echo $sonuc;
    }
  • 15-12-2009, 21:48:18
    #6
    Üyeliği durduruldu
    ilk soru için döngü olmicaksa foreache ne ihyacın var

    ikinci sorun için de dongunun sayısı belliylse forreach yerine for kullanabilirsin
  • 16-12-2009, 00:05:56
    #7
    Şimdi de şöyle bir sorun var.

    $sonuc olarak aldığım veriyi istediğim gibi işleyemiyorum misal,
    $sonuc ekrana basıldığında
    Çıktı Yazısı 1,Çıktı Yazısı 2,Çıktı Yazısı 3

    şeklinde gözüküyor. Ama ben buna explode ile , lerinden ayırmaya çalışınca misal,
    $ayir = explode(",", $sonuc);
    echo $ayir[0]; Çıktı Yazısı 3 olarak çıkıyor.
    echo $ayir[1]; Boş çıkıyor
    echo $ayir[2]; Boş çıkıyor

    Boş çıkan değerelere de ihtiyacım var ama döngünün içerisinde olduğu içinmidir nedendir bunları alamıyorum.
  • 16-12-2009, 00:17:29
    #8
    Bu sorunuda şöyle hallediyoruz,
    $sonuc değişkeninin hemen altina $ayrilacak diye yeni bir değişken atıyoruz. Sonucu onda toplayıp onu explode ediyoruz. Şu şekilde,
    $i=1;
    $limit=4;
    foreach($veriler as $veri)
    {
    if(empty($veri['ilk']))
    {
    $veri['ilk'] = substr($veri['iki'], 0, 60);
    }
    $i=$i+1;
    $sonuc = html_entity_decode($veri['ilk']);
    $ayrilacak .= $sonuc;
    if ($i>$limit) {
    $ayir = explode(",", $ayrilacak);
    echo $ayir[0]; //Çıktı Yazısı 1
    echo $ayir[1]; //Çıktı Yazısı 2
    echo $ayir[2]; //Çıktı Yazısı 3
    break;
    }
    }