Bei der Entwicklung vieler Softwaresysteme müssen wir uns häufig mit Problemen wie Textübereinstimmung, Stringsuche und Word -Bearbeitungsentfernung befassen. Unter ihnen bezieht sich der Bearbeitungsabstand des Textes auf den minimalen Operanden, der erforderlich ist, um einen Text durch eine Reihe von Charakteroperationen in einen anderen umzuwandeln (wie Einfügen, Löschen, Ersatz). Je kleiner die Bearbeitungsabstand ist, desto höher ist die Ähnlichkeit des Textes. Der Levenshtein -Algorithmus ist einer der klassischen Algorithmen zur Berechnung der Schnurbearbeitungsabstände.
In PHP wird die Funktion Levenshtein () verwendet, um den Bearbeitungsabstand zwischen zwei Zeichenfolgen zu berechnen, d. H. Die Mindestanzahl der Bearbeitungsvorgänge zurückgeben, die erforderlich sind, um eine Zeichenfolge in eine andere zu konvertieren.
Int Levenshtein (String $ str1, String $ str2, int $ cost_ins, int $ cost_rep, int $ cost_del)
Parametername | Parametertyp | veranschaulichen |
---|---|---|
STR1 | Saite | Die erste Zeichenfolge |
STR2 | Saite | Die zweite Zeichenfolge |
cost_ins | int | Die Kosten des Einfügungsbetriebs (Standard sind 1) |
cost_rep | int | Ersatzbetriebskosten (Standard ist 1) |
cost_del | int | Die Kosten für den Löschvorgang (Standard sind 1) |
Diese Funktion gibt den minimalen Bearbeitungsabstand zwischen zwei Zeichenfolgen zurück, dh die Mindestanzahl von Vorgängen, die zum Abschluss der Bearbeitung erforderlich sind.
$ str1 = "Kitten"; $ str2 = "sitzend"; $ distanz = Levenshtein ($ str1, $ str2); echo "Die Entfernung zwischen $ str1 und $ str2 ist $ Distanz";
Ausgabe:
<span class="fun">Der Abstand zwischen Kätzchen und Sitzen beträgt 3</span>
Hinweis: Von "Kätzchen" bis "Sitzen" benötigt drei Vorgänge.
$ str1 = "Kitten"; $ str2 = "sitzend"; $ distanz = levenshtein ($ str1, $ str2, 2, 3, 4); echo "Die Entfernung zwischen $ str1 und $ str2 ist $ Distanz";
Ausgabe:
<span class="fun">Der Abstand zwischen Kätzchen und Sitzen beträgt 15</span>
Hinweis: Von "Kätzchen" bis "Einstellung" erfordert Einfügen, Ersatz- und Löschvorgänge, und insgesamt 15 Operationen sind erforderlich, um abzuschließen.
$ str1 = "Hallo"; $ str2 = "Auf Wiedersehen"; $ distanz = Levenshtein ($ str1, $ str2); echo "Die Entfernung zwischen $ str1 und $ str2 ist $ Distanz";
Ausgabe:
<span class="fun">Der Abstand zwischen Hallo und Auf Wiedersehen ist 4</span>
Hinweis: Von "Hallo" zu "Auf Wiedersehen" müssen Sie einen Buchstaben einfügen, zwei Buchstaben ersetzen und einen Buchstaben löschen. Insgesamt dauert 4 Vorgänge.
Der Levenshtein -Algorithmus ist ein klassischer Algorithmus zur Berechnung der Bearbeitungsabstände und wird bei String -Verarbeitungsaufgaben häufig verwendet. Die Levenshtein () -Funktion von PHP bietet eine bequeme Implementierung dieses Algorithmus und hilft uns, die Ähnlichkeit zwischen Zeichenfolgen schnell zu berechnen. Ob in der Textverarbeitung, der Zauberprüfung oder der Verarbeitung natürlicher Sprache, die Funktion Levenshtein () kann Entwicklern eine starke Unterstützung bieten.