• 09-09-2009, 03:12:24
    #1
    Takıldım kaldım, nasıl bir yöntem izleyebilirim bilemedim. Durum şöyle;

    şöyle bir kelimeler grubu olsun

    komik video, komik izle, komik video indir
    bu kelime grubunun şöyle olmasını istiyorum;

    komik, video, izle, indir
    Yani bir kelime ikinci defa tekrarlanmayacak hale nasıl getirilebilinir?
  • 09-09-2009, 03:42:43
    #2
    buna bişey söylemek için kullandığını php yöntemini de öğrenmek lazım.. sonuçta ne yaptığınızı bilmiyoruz ki biz..
    ilgili kısmın php kodlarını eklerseniz yardımcı olabiliriz sanırım
  • 09-09-2009, 03:58:33
    #3
    işin aslına bakılırsa php kodluk bir şey yok ama şöyle izah edeyim;

    $veri = 'komik video, komik izle, komik video indir';
    ben bu $veri değişikenindeki kelimeleri

    komik, video, izle, indir
    haline getirmek istiyorum.

    $veri  = 'komik video, komik izle, komik video indir';
    $veri  = str_replace(",","",$veri);
    $veri  = explode(" ",$veri);
    $veri  = array_count_values($veri);
    echo $veri['komik'];
    şeklinde kullanıp tüm kelimeleri ayırdım.
    Hatta array_count_values ile komik kelimesinin kaç kere tekrar edildiğini buldum. ama daha ileriye gidemedim.
    Tekrar edilen dizi elemanlarının ikinci defa tekrarlanmasını önleyecek array fonksiyonu var mı acaba?
  • 09-09-2009, 06:07:14
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Verileri dizi şekline getirdikten sonra array_unique kullanacaksın böylelikle aynı olanları siler.
    http://free.netartmedia.net/PHP/PHP49.html
  • 09-09-2009, 07:39:34
    #5
    S4l1h ne kadar teşekkür etsem azdır. Az önce bir fonksiyon bulmuştum sayende kod hamallığından kurtuldum. İşin garip tarafı php manual'den array kısmına o kadar baktım görememişim array_unique.

    array_unique yerine aşağıdaki fonksiyonu bulmuştum az önce;

    function arr_dif($array){
    $difs = array();
        foreach($array as $value){
            if (!in_array($value,$difs)){
                $dif_tmp =array($value);
                $difs = array_merge ($difs,$dif_tmp);
            }
        }
    return $difs;
    }
    array_unique sayesinde kurtuldum

    S4l1h tekrardan teşekkür ederim.

    Lazım olabilir diye örnek bir kod bırakıyorum:

    <?php
    $veri = 'komik video, komik izle, komik video indir';
    $veri = trim($veri); // Baştaki ve sondaki boşluklar temizlendi.
    $veri = str_replace(", ", " ",$veri); // komik video komik izle komik video indir
    $veri = str_replace(" ", ", ##",$veri); // komik, ##video, ##komik, ##izle, ##komik, ##video, ##indir
    $veri = explode("##", $veri);//Array ( [0] => komik, [1] => video, [2] => komik, [3] => izle, [4] => komik, [5] => video, [6] => indir )
    $veri = array_unique($veri); // Yinelenen dizileri sildik. Array ( [0] => komik, [1] => video, [3] => izle, [6] => indir )
    // Dizi elemanlarını ekrana bastırdık. komik, video, izle, indir
    foreach ($veri as $id=>$data) {
    $veri = $data;
    echo $veri;
    }
    ?>
  • 09-09-2009, 12:22:32
    #6
    afedersin ama
    $veri = str_replace(", ", " ",$veri); // komik video komik izle komik video indir
    $veri = str_replace(" ", ", ##",$veri); // komik, ##video, ##komik, ##izle, ##komik, ##video, ##indir
    şu kısmı neden dolaylı yola getirdin,
    direk explode ile explode(', ',$veri); yapmamanızda bir sebeb var mı
  • 09-09-2009, 12:35:49
    #7
    Üyeliği durduruldu
    ilk başta diziye ekleyip sonrada tek kayda indirgene bilir;

    $dizi = explode(', ',$veri);
    $dizi = array_unique($dizi);