• 01-11-2012, 22:23:41
    #1
    Bir kod yapısında ufak bir noktada tıkanıyorum yardımlarınızı istiyorum. Yaptığım olay şu şekilde. Veritabanında bir sütunda ABCDEABCDE gibi şekilde kayıtlar var. Php ile gelen veri mesala ABCEEABCEE gibi veri geliyorsa bunları karşılaştırmak istiyorum.

    ABCDEABCDE
    ABCEEABCEE

    Karşılaştırma sonucunda örneğin şöyle bir çıktı almam lazım

    Doğru 8
    Yanlış 2
    Toplam 10

    Ne yaptıysam bu kod yapısını çözemedim. Yardımlarınızı bekliyorum.
  • 01-11-2012, 22:44:51
    #2
    Kendiniz yazmanıza gerek yok hocam

    http://php.net/manual/en/function.similar-text.php

    Kullanabilirsiniz,direk kaç karakterin aynı olduğunu verir,strlen ile kaç karakter olduğunu alırsınız bundan similiar_text değerini çıkarttığınızdada kaç karakterin yanlış olduğunu bulursunuz zaten.
  • 01-11-2012, 22:57:16
    #3
    Hocam o kadar yapamam açıkcası Örnek birkaç satırı görsem gerisini getiririm
  • 01-11-2012, 23:17:47
    #4
    hasip adlı üyeden alıntı: mesajı görüntüle
    Bir kod yapısında ufak bir noktada tıkanıyorum yardımlarınızı istiyorum. Yaptığım olay şu şekilde. Veritabanında bir sütunda ABCDEABCDE gibi şekilde kayıtlar var. Php ile gelen veri mesala ABCEEABCEE gibi veri geliyorsa bunları karşılaştırmak istiyorum.

    ABCDEABCDE
    ABCEEABCEE

    Karşılaştırma sonucunda örneğin şöyle bir çıktı almam lazım

    Doğru 8
    Yanlış 2
    Toplam 10

    Ne yaptıysam bu kod yapısını çözemedim. Yardımlarınızı bekliyorum.
    $str1 = 'ABCDEABCDE';
    $str2 = 'ABCEEABCEE';
    
    $true = 0;
    $false = 0;
    $total = 0;
    
    for($i = 0; $i < strlen($str1); $i++)
    {
        if(isset($str2[$i]) AND $str1[$i] == $str2[$i])
        {
            $true++;
            $total++;
        }
        elseif(isset($str2[$i]) AND $str1[$i] != $str2[$i])
        {
            $false++;
            $total++;
        }
    }
    
    print "Doğru $true, Yanlış $false, Toplam $total";
    mantığı anladıysam böyle olmalı.
  • 02-11-2012, 00:02:25
    #5
    Hocam elinize sağlık teşekkür ederim.