Aktueller Standort: Startseite> Neueste Artikel> Detaillierte Erklärung und Anwendung der Funktion levenshtein () in PHP

Detaillierte Erklärung und Anwendung der Funktion levenshtein () in PHP

gitbox 2025-06-13

1. Einführung

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.

2. Funktionsprototyp

Int Levenshtein (String $ str1, String $ str2, int $ cost_ins, int $ cost_rep, int $ cost_del)

2.1 Parameterliste

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)

2.2 Rückgabewert

Diese Funktion gibt den minimalen Bearbeitungsabstand zwischen zwei Zeichenfolgen zurück, dh die Mindestanzahl von Vorgängen, die zum Abschluss der Bearbeitung erforderlich sind.

3. Beispiel

3.1 Beispiel 1

$ 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.

3.2 Beispiel 2

$ 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.

3.3 Beispiel 3

$ 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.

4. Zusammenfassung

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.