Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: Porovnání vět

PHP PHP Porovnání vět American English version English version

Aktivity (1)
Avatar
oggymotslp
Člen
Avatar
oggymotslp:5.10.2016 17:14

Zdravím,

jsem tu zas. A s jiným problémem.

Mám databázi plnou otázek a odpovědí. A pak mám vstup od uživatele. Dostanu třeba "Ahoj jak se máš", ale v databázi mám jen "jak se máš". A potřeboval bych, aby to porovnalo všechny otázky v databázi, a u té otázky s největší podobností by to vypsalo odpověď z databázi.

Absolutně nevím jak na to, projíždím vše co se dá, ale nemohu nic nalézt. Předem děkuji za odpovědi.

Odpovědět 5.10.2016 17:14
Proč to dělat jednoduše, když to jde i složitě :D
Avatar
Odpovídá na oggymotslp
Josef Kuchař (Pepa489):5.10.2016 18:26

Šel bych na to tak, že bych si načetl do proměnné všechny řádky tabulky, foreachem to projížděl prvek po prvku a pomocí funkce similar_text, si zjistit nejvyšší shodu ;)

Nahoru Odpovědět 5.10.2016 18:26
2x piš, jednou debuguj
Avatar
Odpovídá na oggymotslp
Martin Štěpánek (Enormyk):5.10.2016 18:50

Děláš něco na způsob Bota k chatování? :-D

Nahoru Odpovědět 5.10.2016 18:50
Nesnáším, když někdo u if nepoužívá {}, byť se jedná o jeden řádek.
Avatar
oggymotslp
Člen
Avatar
Odpovídá na Martin Štěpánek (Enormyk)
oggymotslp:5.10.2016 19:06

Ne, něco na způsob zeptej se a dostaneš odpověď. Bohužel nemohu napsat více podrobností ;-)

Nahoru Odpovědět 5.10.2016 19:06
Proč to dělat jednoduše, když to jde i složitě :D
Avatar
Odpovídá na oggymotslp
Josef Kuchař (Pepa489):5.10.2016 21:33

Možná něco takového(netes­továno)

//Fráze kterou hledáš
$stringToFind = "blablabla";
//Pomocné buffery
$maximum = 0;
$maximumString = "";
//Projití všemi záznami
foreach ($lines as $line) {
    //Porovnání, vrácí hodnotu v proměnné $percentage
    similar_text($line, $stringToFind, $percentage);

    //Pokud je % větší než maximum, tak je maximum procento a maximumString je tento řádek
    if($percentage > $maximum)
    {
      $maximum = $percentage;
      $maximumString = $line;
    }
}
// Vypiš nejpodobnější string
echo $maximumString;
Akceptované řešení
+20 Zkušeností
Řešení problému
Nahoru Odpovědět  +3 5.10.2016 21:33
2x piš, jednou debuguj
Avatar
oggymotslp
Člen
Avatar
Odpovídá na Josef Kuchař (Pepa489)
oggymotslp:6.10.2016 12:17

Zkusím to, díky.

Nahoru Odpovědět 6.10.2016 12:17
Proč to dělat jednoduše, když to jde i složitě :D
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.