English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP Grundanleitung

PHP Fortgeschrittene Anleitung

PHP & MySQL

PHP Referenzhandbuch

PHP levenshtein() -Funktionssyntax und Beispiel

PHP String Zeichenkettenfunktionen Handbuch

Die levenshtein() -Funktion berechnet die Distanz zwischen zwei Zeichenketten.

Syntax

int levenshtein ( string $str1 , string $str2 )

Definition und Verwendung

zur Berechnung der Distanz zwischen zwei Zeichenketten verwendet wird.

Editierabstand, der die Distanz zwischen zwei Zeichenketten ist, durch Ersetzen, Einfügen und Löschen usw. zu erreichen1In das str2benötigte Anzahl der Operationen sind. Die Komplexität dieses Algorithmus ist O(m*n),wobei n und m die Länge von str1 und str2Länge (wenn und die Algorithmuskomplexität ist O(max(n,m)**3) mit similar_text() verglichen, ist diese Funktion immer noch ziemlich gut, obwohl sie immer noch zeitaufwendig ist.)。
In der einfachsten Form nimmt die Funktion nur zwei Zeichenketten als Parameter und berechnet die Anzahl der durch Einfügen, Ersetzen und Löschen erforderlichen Operationen, um str1In das str2Benötigte Anzahl der Operationen.
Eine zweite Variante nimmt drei zusätzliche Parameter zur Definition der Anzahl der Einfügungen, Ersetzungen und Löschungen hinzu. Diese Variante ist universeller und anpassungsfähiger als die erste, aber weniger effizient.

Rückgabewert

Es gibt die Levenshtein-Distanz zwischen den beiden Parameterzeichenketten zurück, andernfalls gibt es zurück-1

Parameter

NummerParameter und Beschreibung
1

str1

Berechnen Sie eine der beiden Zeichenketten im Editierabstand

2

str2

Berechnen Sie die andere Zeichenkette im Editierabstand

3

cost_ins

Definieren Sie die Anzahl der Einfügungen

4

cost_del

Definieren Sie die Anzahl der Ersetzungen

Online-Beispiel

Probieren Sie die folgenden Beispiele aus, um die Levenshtein-Distanz zwischen zwei Zeichenketten zu berechnen:

<?php
   //Berechnung der Distanz zwischen zwei Zeichenketten
   echo 'der Abstand zwischen zwei Zeichenketten ist ';
   echo levenshtein("Hallo Welt","ello Welt");
?>
Testen Sie heraus‹/›

Ausgabeergebnis-

der Abstand zwischen zwei Zeichenketten ist 1

PHP String Zeichenkettenfunktionen Handbuch