• 17-04-2014, 20:53:52
    #1
    BND
    Üyeliği durduruldu
    Merhaba,

    Elimde sıralı string biçiminde bir dizge var. Bu dizge "," işaretiyle ayrılmış. Bu dizi içinde belirlediğim bir stringin karşılığına gelen stringi almak istiyorum.

    Örnek-1:

    kurbaga, seker, uygun, ali, kurbağa, şeker, uygun, ali

    Örnek-2:

    sonuc, ceviz, sonuç, ceviz


    Örneğin, ikinci örnekteki sonuc'a denk gelen sonuç'u almak için nasıl bir fonksiyon kullanabilirim. Virgülleri explode ettim ama sonrasında nasıl yapabilirim bilemedim. Yardımınız için şimdiden teşekkür ederim.


    virgüle göre 1. sırada olan kurbaga için , virgüle göre 5. sırada olan kurbağa'yı nasıl alabilirim?


    yalnız Türkçe karakterden ziyade tümü aynı karakter de olabiliyor:

    ali, veli, deli, ali, veli, deli

    şeklinde...
  • 17-04-2014, 21:04:24
    #2
    sorunuzu tam anlamadım ama 1. dizide bulunadı 2. dizede bulmak istiyorsanız
    http://tr2.php.net/array_search
    array_search("ceviz",$array2)
    derseniz ikinci dizideki konumu gelecektir
  • 17-04-2014, 21:08:35
    #3
    BND
    Üyeliği durduruldu
    Mezitli33 teşekkür ederim. Yalnız stringler aynı değil.

    Biri "kurbağa" diğeri "kurbaga". Yani Türkçe karakterli hali mevcut olabiliyor.
  • 17-04-2014, 21:09:48
    #4
    BND adlı üyeden alıntı: mesajı görüntüle
    Mezitli33 teşekkür ederim. Yalnız stringler aynı değil.

    Biri "kurbağa" diğeri "kurbaga". Yani Türkçe karakterli hali mevcut olabiliyor.
    soruyu tam olarak anlayamadım hocam halen
    1. dizedeki valuenin 2. dizide keyini mi almak istiyorsunuz?
    1. dizede türkçe ise aranılanda türkçe değilse türkçe karakterleri değiştirerek arayabilrisiniz.

    ama seçilen türkçe karaktersiz aranan türkçe karakterli ise tüm dizeyi türkce karakterden arındırdıktan sonra aramalısınız
  • 17-04-2014, 21:23:31
    #5
    BND
    Üyeliği durduruldu
    şöyle:

    şeker, güzel, aşk, seker, guzel, ask

    şeklinde bir string değerim var. Bu değerde kalın olanlar ilk etapta eklenen stringler. Eğik olanlar kalın olanlara göre sırasıyla eklenmiş değerler. Örneğin 1. sıradaki seker'e denk gelen 4. sıradaki şeker stringi. Ben bu seker stringiyle bağlantılı olan şeker stringini almak istiyorum.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 20:17:17 -->-> Daha önceki mesaj 20:14:18 --

    Türkçe karakterlerden arındırma söz konusu olsa bile şöyle bir dizide yazacağım fonksiyon çakılacak:

    seker, ahmet, sekerci, şeker, ahmet, şekerci

    seker aramasında şekerci için de işlemi yapacak.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 20:21:10 -->-> Daha önceki mesaj 20:17:17 --

    tartışırken ışıklar yanmaya başladı. virgül sayısının 1 fazlasının yarısını bulup tüm stringi bu yarıya böler ve elimdeki iki string içinde her $x[$i] için $y[$i] alabilirim.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 20:23:31 -->-> Daha önceki mesaj 20:21:10 --

    Mezitli33 ilgin için teşekkür ederim. Ben şunu bir deneyeyim.
  • 17-04-2014, 21:22:27
    #6
    $array = Array('şeker','güzel','aşk','seker','guzel','ask') ;
    $count= count($array)/2;
    $aranan ="güzel";
    $key=array_search($aranan, $array);
    $bulacak = $array[$count+$key];
    echo $bulacak;
  • 17-04-2014, 21:25:21
    #7
    BND adlı üyeden alıntı: mesajı görüntüle
    şöyle:

    şeker, güzel, aşk, seker, guzel, ask

    şeklinde bir string değerim var. Bu değerde kalın olanlar ilk etapta eklenen stringler. Eğik olanlar kalın olanlara göre sırasıyla eklenmiş değerler. Örneğin 1. sıradaki seker'e denk gelen 4. sıradaki şeker stringi. Ben bu seker stringiyle bağlantılı olan şeker stringini almak istiyorum.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 20:17:17 -->-> Daha önceki mesaj 20:14:18 --

    Türkçe karakterlerden arındırma söz konusu olsa bile şöyle bir dizide yazacağım fonksiyon çakılacak:

    seker, ahmet, sekerci, şeker, ahmet, şekerci

    seker aramasında şekerci için de işlemi yapacak.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 20:21:10 -->-> Daha önceki mesaj 20:17:17 --

    tartışırken ışıklar yanmaya başladı. virgül sayısının 1 fazlasının yarısını bulup tüm stringi bu yarıya böler ve elimdeki iki string içinde her $x[$i] için $y[$i] alabilirim.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 20:23:31 -->-> Daha önceki mesaj 20:21:10 --

    Mezitli33 ilgin için teşekkür ederim. Ben şunu bir deneyeyim.
    bende çözümü kod olarak yazıyordum siz bulmuşsnuz hemen hemen bir önceki mesajda var önemli değil kolay gelsin
  • 17-04-2014, 22:16:30
    #8
    BND
    Üyeliği durduruldu
    Sonunda hallettim. Belki birinin işine yarar (google'da İngilizce sayfalarda da yoktu):

    mb_internal_encoding("UTF-8");

    $etler=$row_etiketal['tags'].',';
    $sayi=substr_count($etler,',');


    // $etler şu yapıda: 'şemsiye,ali,şeker, uğraş, semsiye,ali,seker,ugras,';
    // $buetiket urlden alınıyor. türkçe karakter içermiyor. örneğin: semsiye


    $lem=explode(',',$etler);
    $z='';
    $imi=0;
    while ($imi<=ceil($sayi/2)-1) {

    $z=$z.trim($lem[$imi]);



    $imi++;
    }

    $t='';
    $imi=ceil($sayi/2);
    while ($imi<=$sayi) {

    $t=$t.trim($lem[$imi]);


    $imi++;
    }
    echo $buetiket;
    echo '<h1>'.$z.'</h1>';
    echo '<h1>'.$t.'</h1>';

    $xc=strpos($z,$buetiket);
    echo '<h1>'.$xc.'</h1>';
    $xv=strlen($buetiket);

    $son=mb_substr($t,$xc,$xv);

    echo $son;

    //mb_substr'te Türkçe karakterler için kullanıldı. Sayfa başına mb_internal_encoding("UTF-8"); eklenmeli.