Arama butonu
Bu konudaki kullanıcılar: 1 misafir
7
Cevap
789
Tıklama
0
Öne Çıkarma
PHP Yüzde Yakınlık Bulma
H
11 yıl
Yüzbaşı
Konu Sahibi

Merhaba...
Bunu mu demek istediniz şeklinde bir uygulamam var ve bu uygulama text'e girilen değer var ise veya şöyle bir örnek veriyim.

Dizi'de ADANA,ANTEP,MANİSA,BURSA,BURDUR VAR.

Text' ADENA GİRİLDİ.

İŞLEM UYGULAYIP TEK BİR HARF FARKLI OLDUĞU İÇİN %95 BENZİYOR.2 HARF FARKLI İSE %80 FARKLIDIR YADA BENZİYOR ŞEKLİNDE YAZDIRMAYI İSTİYORUM BU KONUDA YARDIM EDEBİLECEK BİR ARKADAŞ VARMI DIR ?

TEŞEKKÜRLER.



H
11 yıl
Yüzbaşı
Konu Sahibi

quote:


$lim = 10;
for ($i=0;$i<=$lim;$i++){
echo '%'.(100*$lev/$lim);}


ŞEKLİNDE BİR KOD YAZDIM AMA PEK YARAMADI.


Bu mesaja 1 cevap geldi.
Z
11 yıl
Yüzbaşı

http://www.tahribat.com/doc.asp?docid=398

Bu sayfadaki konuları baştan sona dikkatli bir şekilde incelersen, bu konuyla ilgili yeterince bilgiye sahip olabileceğini düşünüyorum.

Özellikle bu ikisini incelemende fayda var. Kolay gelsin.

<?php
$metin = "Bu cümlede tam 5 tane a harfi varmış.";
if (preg_match("/a{5}/i", $metin))
print("Kelimenin icinde en az 5 tane a harfi bulunuyor.");
?>

<?php
$metin1 = "Hasan nerelerdesin sen?";
$metin2 = "Hamit seni sormadım.";
if (preg_match("/ha(san|mit)/i", $metin1))
print("Metnin içinde Hasan ya da Hamit kelimelerinden biri geçiyor.
");
if (preg_match("/ha(san|mit)/i", $metin2))
print("Metnin içinde Hasan ya da Hamit kelimelerinden biri geçiyor.
");
?>





< Bu mesaj bu kişi tarafından değiştirildi zapdos93 -- 11 Aralık 2012; 16:03:26 >
Bu mesaja 1 cevap geldi.
H
11 yıl
Yüzbaşı
Konu Sahibi

Üstad güzel bir link ve örnek ama benim istediğimi karşılamıyor bana yüzde olarak cevabını vermesi lazım.Tıkandım.Beyin basmıo artık deli olacam. Biliyorum çok kolay bir kod biraz toparlayabilsem doğru düşünsem çıkıcak ama yok bir türlü bulamadım....


Bu mesaja 1 cevap geldi.
Z
11 yıl
Yüzbaşı

Dostum yüzde sonraki iş. Sen bu kodları incele. Eğer çözebilirsen programa şunu söyle:

Eğer gelen kelime içerisinde 1 harf farklıysa ekrana %20 fark var. Şunu mu demek istediniz: ADANA

Basitçe anlatmam gerekirse;
<?php
$gelenkelime = preg_match($gelenkelime,$adana);
$gelenkelime1 = preg_match($gelenkelime,$yozgat);
...
$gelenkelime3 = preg_match($gelenkelime,$kayseri); // Bunu yukarıda verdiğim adresi inceleyerek kontrol etmeyi öğrendiğini var sayıyorum. Çünkü bende bilmiyorum nasıl yapılacağını. Ama orada açıklamış arkadaş :)
// Diyelimki bu şekilde 1 harfin farklı olduğunu buldun. Ve $fark_sayi değişkenine 1'i aktardın.
$fark_sayi = $fark_sayi_adana;
$fark_sayi = $fark_sayi_yozgat;
...
$fark_sayi = $fark_sayi_kayseri;
// Bu 3 tanesi arasında hangisinin sayısı en küçükse veya sıfıra yakınsa kullanıcının yazmak istediği odur. Değil mi?
// Bir şekilde adana olanı buldun ve onu fark_sayi değişkenine aktardın.
if($fark_sayi=="1"){
echo "%80 uyuşuyor. Bunu mu demek istediniz: ADANA";
}
...
if($fark_sayi=="3"){
echo "%40 uyuşuyor. Bunu mu demek istediniz: ADANA";
}
?>

*Biliyorum çok karışık oldu.^^
*Sen, dediğim gibi kaç tane harfin farklı olduğunu nasıl bulacağını çöz, gerisini birlikte hallederiz.^^





< Bu mesaj bu kişi tarafından değiştirildi zapdos93 -- 11 Aralık 2012; 16:34:17 >
Bu mesaja 1 cevap geldi.
H
11 yıl
Yüzbaşı
Konu Sahibi

ilgili kod bloğunda levensthein methodum var ve orada 0 ile 8 arasında bir değer döndürüyor. o yüzden çok fazla if'e girmicem galiba :))))

ama emeğin ve desteğin için çok teşekkürler.Üstad.


Bu mesaja 1 cevap geldi.
Z
11 yıl
Yüzbaşı

Rica ederim. Kolay gelsin.
Ancak levenshtein ile çözülebileceğini düşünmüyorum.





< Bu mesaj bu kişi tarafından değiştirildi zapdos93 -- 11 Aralık 2012; 16:51:59 >
Bu mesaja 1 cevap geldi.
H
11 yıl
Yüzbaşı
Konu Sahibi

entegre ederim :)



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.