PHP levenshtein() functie
Voorbeeld
Bereken de Levenshtein-afstand tussen twee strings:
<?php echo levenshtein("Hello World","ello World"); echo "<br>"; echo levenshtein("Hello World","ello World",10,20,30); ?>
Definitie en gebruik
De levenshtein() functie retourneert de Levenshtein-afstand tussen twee strings.
De Levenshtein-afstand, ook wel editdistance genoemd, is het minste aantal bewerkingen dat nodig is om de ene string om te zetten naar de andere. Toegestane bewerkingen zijn het vervangen van een teken door een ander, het invoegen van een teken en het verwijderen van een teken.
Standaard geeft PHP dezelfde gewichten aan elke operatie (vervanging, invoeging en verwijdering). U kunt echter de kosten van elke operatie definiëren door de optionele insert, replace, delete parameters in te stellen.
Opmerking:levenshtein() functie onderscheidt geen hoofd- en kleine letters.
Opmerking:De levenshtein() functie is sneller dan similar_text() De functie is sneller. De similar_text() functie biedt echter een nauwkeuriger resultaat door minder benodigde wijzigingen aan te brengen.
Syntax
levenshtein(string1,string2,insert,replace,delete)
Parameters | Beschrijving |
---|---|
string1 | Verplicht. De eerste te vergelijken string nodig. |
string2 | Verplicht. De tweede te vergelijken string nodig. |
insert | Optioneel. De kosten van het invoegen van een teken. Standaard is dit 1. |
replace | Optioneel. De kosten van het vervangen van een teken. Standaard is dit 1. |
delete | Optioneel. De kosten van het verwijderen van een teken. Standaard is dit 1. |
Technische details
Retourneren van waarde: | Geef de Levenshtein-afstand tussen twee parameterstrings terug. Als een van de strings meer dan 255 tekens bevat, wordt -1 geretourneerd. |
PHP versie: | 4.0.1+ |