PHP levenshtein() -funktio
Esimerkki
Laske kahden merkkijonon välinen Levenshtein-etäisyys:
<?php echo levenshtein("Hello World","ello World"); echo "<br>"; echo levenshtein("Hello World","ello World",10,20,30); ?>
Määrittely ja käyttö
levenshtein() -funktio palauttaa kahden merkkijonon välisen Levenshtein-etäisyyden.
Levenshtein-etäisyys, myös tunnettu editointi-etäisyys, tarkoittaa kahta merkkijonoa välillä tarvittavien vähimmäiseditointien määrää, jolla yksi merkkijono voidaan muuntaa toiseksi. Sallitut editointitoimet ovat yhden merkin korvaaminen toisella, merkin lisääminen ja merkin poistaminen.
Oletusasennossa PHP antaa jokaiselle toiminnalle (korvaus, lisäys, poisto) saman painon. Voit kuitenkin määrittää jokaisen toiminnan kustannuksen valitsemalla valinnaiset insert, replace, delete -parametrit.
Huomautus:levenshtein() -funktio ei erota isokirjaimia ja pienikirjaimia.
Huomautus:levenshtein() -funktio on nopeampi kuin similar_text() Funktio on nopeampi. Mutta similar_text() -funktio voi tarjota sinulle tarkempia tuloksia vähemmän välttämättömien muutosten määrällä.
Syntaksi
levenshtein(string1,string2,insert,replace,delete)
Parametrit | Kuvaus |
---|---|
string1 | Välttämätön. Tarvittava ensimmäinen vertailustringi. |
string2 | Välttämätön. Tarvittava toinen vertailustringi. |
insert | Valinnainen. Lisäämisen kustannus. Oletus on 1. |
replace | Valinnainen. Korvaamisen kustannus. Oletus on 1. |
delete | Valinnainen. Poistamisen kustannus. Oletus on 1. |
Tekninen yksityiskohta
Palautusarvo: | Palauttaa kahden parametrisen merkkijonon välinen Levenshtein-etäisyys. Jos yksi merkkijonosta on yli 255 merkkiä, palauttaa -1. |
PHP versio: | 4.0.1+ |