Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

PHP dizi içinde benzer kelime var mı?

Konu, 'PHP' kısmında dinlex tarafından paylaşıldı.

  1. dinlex

    dinlex Üye

    Kayıt:
    23 Aralık 2016
    Mesajlar:
    235
    Beğenilen Mesajlar:
    60
    Şehir:
    Hatay
    Merhaba arkadaşlar, galiba ben Google'da bir şey aramayı bilmiyorum. Ya da beynim sulandı kod yazmaya çalışmaktan. Saat de sabahın 4'ü olmuş.

    Elimde bir dizi var: $dizi = array(1, 2, 1, 3, 4);

    Ben bu dizide aynı olan iki değer varsa hata mesajı verdirmek istiyorum.
    Mesela;

    if(benzer_var_mi($dizi)){
    echo "iki tane aynı sayı yazdınız";
    }
     
  2. dinlex

    dinlex Üye

    Kayıt:
    23 Aralık 2016
    Mesajlar:
    235
    Beğenilen Mesajlar:
    60
    Şehir:
    Hatay
    Bende çekilen veri sayısı belli olduğu için şöyle birşey yaptım, işimi gördü. Ama yine de daha iyi bir yol bilen varsa ve yazarsa sevinirim.

    array_unique() fonksiyonu, dizi içindeki tekrar eden kelimeleri siler diziyi ona göre tekrar döndürür.
    count() fonksiyonu ise dizinin eleman sayısını verir.

    Ben sabit 5 sayı girdiğim için bu işimi gördü.
    PHP:
    $gelen_veri = array(12245);

    if(
    count(array_unique($gelen_veri)) == 5){  //count(array_unique($gelen_veri)) kısmı 4 değerini döndürür.
       
    echo "tamam sorun yok, tüm sayılar farklı";
    }else{
       echo 
    "Benzer sayılar girdiniz.";
    }
     
    Son düzenleme: 31 Mart 2017
  3. Furkan Onka Uğur

    Furkan Onka Uğur Moderatör Yetkili Kişi

    Kayıt:
    12 Eylül 2008
    Mesajlar:
    3,689
    Beğenilen Mesajlar:
    43
    Şehir:
    Ankara
    @dinlex'in cevabı şu şekilde genişletilebilir:
    PHP:
    function elemanlarFarkliMi($Arr)
    {
        if( 
    count($Arr) == countarray_unique$Arr ) ) ) //dizinin eleman sayısı, dizideki farklı elemanların sayısına eşit ise
        
    {
            return 
    true//tüm elemanlar farklıdır.
        
    }
        return 
    false// benzer eleman var
    }
     
    dinlex bunu beğendi.
  4. dinlex

    dinlex Üye

    Kayıt:
    23 Aralık 2016
    Mesajlar:
    235
    Beğenilen Mesajlar:
    60
    Şehir:
    Hatay
    Teşekkür ederim, fonksiyon olması daha kullanışlı olmuş tabi :)