• 07-07-2019, 00:09:55
    #1
    Merhaba arkadaşlar;
    For ile sayı artırma işlemi yapmak istiyorum. Yaptığım işlem şu;

    for ($i=0000; $i<0050 ; $i++) {  
        echo $i; 
    }
    Sonuc 1,2,3,4..,49 şeklinde gidiyor.
    Benim İstediğim ise 0001,0002,0003,0004...,0049 şeklinde olması.

    -İnteger değer olduğu için sayı önündeki 0'ları yok sayıyor.
    - Değişkene atayıp tırnak içinde kullandım yine aynı oldu.

    Bir fikri olan var mı?
  • 07-07-2019, 00:12:48
    #2
    echo str_pad($sayi, 4, "0", STR_PAD_LEFT);
    • Amxmodx
    • Narcos
    • WalterTrade
    Amxmodx, Narcos ve WalterTrade bunu beğendi.
    3 kişi bunu beğendi.
  • 07-07-2019, 00:14:16
    #3
    for($i = 0; $i < 50; $i++) {
         printf("%04d", $i);
    }
    işe yarayacaktır.
  • 07-07-2019, 00:14:22
    #4
    carasar adlı üyeden alıntı: mesajı görüntüle
    Merhaba arkadaşlar;
    For ile sayı artırma işlemi yapmak istiyorum. Yaptığım işlem şu;

    for ($i=0000; $i<0050 ; $i++) {  
        echo $i;
    }
    Sonuc 1,2,3,4..,49 şeklinde gidiyor.
    Benim İstediğim ise 0001,0002,0003,0004...,0049 şeklinde olması.

    -İnteger değer olduğu için sayı önündeki 0'ları yok sayıyor.
    - Değişkene atayıp tırnak içinde kullandım yine aynı oldu.

    Bir fikri olan var mı?
    for ($i=0; $i<11; $i++) {
    echo str_pad($i, 4, '0', STR_PAD_LEFT)."<br>";
    }

    Olaya yanlış yerden bakıyorsun hocam, for döngüsü hazır bir fonksiyon olduğu için onun doğasını bozmaya çalışmak yerine çıktıyla oynamalısınız. Yukarıdaki kod tam olarak aradığınız işlemi gerçekleştirir. Aynı olayı sprintf fonksiyonu ile de gerçekleştirebilirsiniz. Kolay gelsin.
  • 07-07-2019, 00:17:19
    #5
    erenagar adlı üyeden alıntı: mesajı görüntüle
    for ($i=0; $i<11; $i++) {
    echo str_pad($i, 4, '0', STR_PAD_LEFT)."<br>";
    }

    Olaya yanlış yerden bakıyorsun hocam, for döngüsü hazır bir fonksiyon olduğu için onun doğasını bozmaya çalışmak yerine çıktıyla oynamalısınız. Yukarıdaki kod tam olarak aradığınız işlemi gerçekleştirir. Aynı olayı sprintf fonksiyonu ile de gerçekleştirebilirsiniz. Kolay gelsin.

    bende eksik yazmışım sizin yazıyı görünce farkettim

    Doğrusu sizin yazdığınız şekilde olacaktı arkadaş deneyince farkeder zaten hatayı
    • carasar
    carasar bunu beğendi.
    1 kişi bunu beğendi.
  • 07-07-2019, 00:21:35
    #6
    erenagar adlı üyeden alıntı: mesajı görüntüle
    for ($i=0; $i<11; $i++) {
    echo str_pad($i, 4, '0', STR_PAD_LEFT)."<br>";
    }

    Olaya yanlış yerden bakıyorsun hocam, for döngüsü hazır bir fonksiyon olduğu için onun doğasını bozmaya çalışmak yerine çıktıyla oynamalısınız. Yukarıdaki kod tam olarak aradığınız işlemi gerçekleştirir. Aynı olayı sprintf fonksiyonu ile de gerçekleştirebilirsiniz. Kolay gelsin.
    Çok teşekkür ederim hocam.

    Misafir; @BatuhaNN; sizlere de teşekkür ederim hocalarım.
  • 07-07-2019, 00:26:49
    #7
    bana gerek kalmamış