• 25-10-2013, 23:43:20
    #1
    Merhaba, kolay gelsin PHP de çok iyi değilim ama elimden geldiğince bişeyler karalamaya calısıyorum. bir problemim var ve işin içinde hakkatten cıkamadım. Eğer konuda bilgili arkadaşlar yardımcı olabilirse sevinirim. şimdiden teşekkürler.

    Gönderdiğim link = site.com/sayfa.php?sayilar=1020304050607080
    ben gönderdiğim sayıları aradaki 0 ları atarak 123456 halinde dizilere ayırdım
    yanlız bu sayılara karşılık gelen ay isimlerini yazdıramadım.

    sonuç elde etmek istediğim şey
    $dizi[$i] eğer 1 se sadece ocak yazsın 2yse şubat yazsın şeklinde.

    ama bu yaptığım işlemde ocak şubat mart nisan mayıs haziran temmuz ağustos yazıyor ve bunu 7 kere daha tekrarlıyor. bu olayı php ile nasıl yapabilirim acaba?

    $sayilar = array(
        '1'    =>    'Ocak',
        '2'    =>    'Şubat',
        '3'        =>    'Mart',
        '4'        =>    'Nisan',
        '5'        =>    'Mayıs',
        '6'        =>    'Haziran',
        '7'        =>    'Temmuz',
        '8'    =>    'Ağustos',
    );
    $getiren = $_GET['sayilar'];
    $dizi = explode('0',$getiren);
    $toplam=count($dizi);
    for($i=0; $i < $toplam ; $i++){
    foreach($sayilar as $dizi[$i] => $bunlar) {
    echo $bunlar; echo "<br>"; }
  • 25-10-2013, 23:51:35
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    şu şekilde bir fonksiyon işini görür.

    function hangiay($sayi)
    {
    if($sayi==1) { return "Ocak"; }
    elseif($sayi==2) { return "Şubat"; }
    elseif($sayi==3) { return "Mart"; }
    elseif($sayi==4) { return "Nisan"; }
    elseif($sayi==5) { return "Mayıs"; }
    elseif($sayi==6) { return "Haziran"; }
    elseif($sayi==7) { return "Temmuz"; }
    elseif($sayi==8) { return "Ağustos"; }
    elseif($sayi==9) { return "Eylül"; }
    elseif($sayi==10) { return "Ekim"; }
    elseif($sayi==11) { return "Kasım"; }
    elseif($sayi==12) { return "Aralık"; }
    }

    foreach($dizi as $deger)
    {
    echo hangiay($deger);
    }
  • 26-10-2013, 00:04:05
    #3
    Üyeliği durduruldu
    $sayilar = array(
        '1' => 'Ocak',
        '2' => 'Şubat',
        '3' => 'Mart',
        '4' => 'Nisan',
        '5' => 'Mayıs',
        '6' => 'Haziran',
        '7' => 'Temmuz',
        '8' => 'Ağustos',
        );
    $getiren = $_GET['sayilar'];
    $dizi = explode("0", $getiren);
    foreach ($dizi as $val)
    {
        if (!empty($val))
        {
            echo $sayilar[$val]."<br>";
        }
    }
  • 26-10-2013, 00:06:00
    #4
    hocam gelen sayıları explode ile dizilere ayırıyorum bu ayırdığım dizilerin değerine göre ekrana cıktı almak istiyorum

    explode yapmamın sebebi her gelen sayının arasında değersiz 0 sayısının olması.

    sadece 1 sayısı geldi
    $dizi['1'] = ocak
    123567
    ocak şubat mart mayıs haziran temmuz

    bu şekilde yazacak.

    bu ay olarak örnek olarak yazdım yaklaşık olarak 1200 1300 tane rakam gelicek cünkü.
  • 26-10-2013, 00:11:36
    #5
    Üyeliği durduruldu
    yazdığım kod işe yaramadımı
  • 26-10-2013, 00:15:38
    #6
    yok hocam bundada ekrana cıktı alamadım.

    şöyle bişeyi atlıyor olabiliriz

    explode ile her seferinde değişken değişiyor biliyorsunuz

    $dizi sabit kalmıyor $dizi['1']; 2 3 vs. değiştiği için bir çözüm bulamadım şunu denedim yine hata aldım.

    $sayilar = array(
        '1' => 'Ocak',
        '2' => 'Şubat',
        '3' => 'Mart',
        '4' => 'Nisan',
        '5' => 'Mayıs',
        '6' => 'Haziran',
        '7' => 'Temmuz',
        '8' => 'Ağustos',
        );
    $getiren = $_GET['sayilar'];
    $dizi = explode("0", $getiren);
    $x=0;
    $a = $dizi[''.$x++.''];
    foreach ($a as $val)
    {
        if (!empty($val))
        {
            echo $sayilar[$val]."<br>";
        }
    }
  • 26-10-2013, 00:43:32
    #7
    Üyeliği durduruldu
    ekran çıktısı:
    Ocak
    Nisan
    Mart
    Nisan
    Mayıs
    Haziran
    Temmuz
    Ağustos
  • 26-10-2013, 02:10:40
    #8
    sizin yazdığınız kodun mu ekran cıktısı hocam bu ?


    edit : hocam cok pardon bende get adresi .php?sayilar=10203040 değilde farklı olarak denemişim orjinal hali kalmış cok teşekkür ederim kusura bakmayın.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 02:10:40 -->-> Daha önceki mesaj 00:50:06 --

    hocam cok teşekkürler tekrardan verdiğiniz kod sorunsuz çalışıyor

    yanlız yapmak istediğim olay 1-3-5 diye geldiğinde

    ocak mart mayıs gibi listeletmekti.

    empty($val) işi bozmuş kotu tekrar aşağıya yazıyorum belki işine yarayan birisi olur ve kullanır.

    Alıntı
    $sayilar = array(
    '1' => 'Ocak',
    '2' => 'Şubat',
    '3' => 'Mart',
    '4' => 'Nisan',
    '5' => 'Mayıs',
    '6' => 'Haziran',
    '7' => 'Temmuz',
    '8' => 'Ağustos',
    );
    $getiren = $_GET['sayilar'];
    $dizi = explode("0", $getiren);
    foreach ($dizi as $val)
    {
    if (!empty($val))
    {
    echo $sayilar[$val]."<br>";
    }
    }
  • 26-10-2013, 21:47:06
    #9
    Üyeliği durduruldu
    !empty($val) $val değeri boş değilse çalıştır anlamındadır. boşluk olsada olmasada olma ihtimali varsa kullandığım bir kontrol kodu.buna birde is_numeric ekle öyle kullan daha sonra hata nerede diye başlık açmak zorunda kalmazsın