Składnia:
int levenshtein (string $ string1, string $ string2, int $ insertion_cost = 1, int $ zamiennik_cost = 1,
int $ delecit_cost = 1)
Ta funkcja ma pięć argumentów. Pierwsze i drugie argumenty są obowiązkowe, a pozostałe pięć argumentów jest opcjonalne. Cele tych pięciu argumentów opisano następująco:
Ta funkcja zwraca odległość levenshteina między pierwszymi i drugim wartościami argumentów funkcji. Jeśli całkowita liczba znaków ciągów jest większa niż 255, funkcja zwraca -1.
Różne przykłady funkcji levenshtein ()
Różne zastosowania funkcji levenshtein () pokazano w tej części samouczka za pomocą wielu przykładów.
Przykład 1: Porównaj dwa ciągi jednego słowa
Utwórz plik PHP z następującym skryptem, który oblicza odległość Levenshtein między dwoma pojedynczymi słowami za pomocą funkcji levenshtein (). Wartość odległości Levenshtein jest wydrukowana później.
// Zdefiniuj pierwszy ciągOdległość Levenshtein wynosi ".Levenshtein ($ str1, $ str2)."
";Wyjście:
Pojawi się następujące dane wyjściowe po wykonaniu poprzedniego skryptu. Odległość Levenshtein dwóch słów, „głupca” i „samego”, wynosi 2, które są wydrukowane na wyjściu:
Przykład 2: Porównaj dwa ciągi wielu słów
Utwórz plik PHP z następującym skryptem, który oklutuje odległość Levenshtein między dwoma ciągami wielu słów za pomocą funkcji levenshtein (). Wartość odległości Levenshtein jest wydrukowana później. Tutaj pierwszy ciąg zawiera trzy słowa, a drugi ciąg zawiera dwa słowa. Jedno słowo jest powszechne w obu strunach. Odległość Levenshtein tych dwóch strun jest wydrukowana później.
// Zdefiniuj pierwszy ciągOdległość Levenshtein wynosi ".Levenshtein ($ str1, $ str2)."
";Wyjście:
Pojawi się następujące dane wyjściowe po wykonaniu poprzedniego skryptu. Tutaj pierwsza wartość ciągu to „Język programowania PHP”A drugi ciąg jest„Programowanie Java". Słowo "Programowanie”Jest powszechny w obu strunach. Do zmiany „php” wymagane są cztery znaki, aby uzyskać „Java” z „php” i 9 znaków (język) z pierwszego ciągu, aby uzyskać drugi ciąg. Tak więc odległość Levenshtein wynosi 4+9 = 13.
Przykład 3: Wyszukaj dokładny lub najbliższy dopasowanie w tablicy
Utwórz plik PHP z następującym skryptem, który przeszukuje określony ciąg w tablicy. Dowiedz się o wartości z tablicy, która dokładnie lub częściowo odpowiada wartości ciągu wyszukiwania, obliczając odległość Levenshtein między ciągiem wyszukiwania a każdym elementem tablicy. Wartość ciągu wyszukiwania pochodzi z parametru URL. Jeśli nie podano parametru URL, domyślna wartość ciągu jest używana dla ciągu wyszukiwania. Wartość początkowa $ Short_Distance jest ustawiona na -1 przed iterowaniem wartości tablicy, aby znaleźć dokładne lub najbliższe dopasowanie. Pierwszy dla każdego pętla służy do drukowania istniejących wartości tablicy. Drugi dla każdego Pętla służy do iteracji wartości tablicy i obliczenia odległości levenshtein między każdą wartością tablicy a ciągiem wyszukiwania w każdej iteracji. Jeśli odległość Levenshtein staje się 0 w dowolnej iteracji, dokładne dopasowanie ciągu wyszukiwania istnieje w tablicy. W przeciwnym razie najbliższy dopasowanie ciągu wyszukiwania jest pobierane z wartości tablicy na podstawie najniższej wartości odległości Levenshtein.
// Ustaw wartość wyszukiwaniaWyjście:
Pojawi się następujące dane wyjściowe po wykonaniu poprzedniego skryptu, jeśli nie podano parametru URL. W takim przypadku domyślna wartość wyszukiwania to „Jawa”, Która istnieje w tablicy. Tak więc odległość Levenshtein staje się 0 dla tej wartości wyszukiwania podczas obliczania odległości levenshteina z piątym elementem tablicy, który jest również „”Jawa”:
Następujące dane wyjściowe pojawia się po wykonaniu poprzedniego skryptu dla wartości wyszukiwania, która wynosi „Pyton”To jest podane w parametrze URL. W takim przypadku wartość wyszukiwania „Pyton„Istnieje w tablicy. Tak więc odległość Levenshtein staje się 0 dla tej wartości wyszukiwania podczas obliczania odległości levenshteina z trzecim elementem tablicy, który jest również „”Pyton”:
Pojawi się następujące dane wyjściowe po wykonaniu poprzedniego skryptu dla wartości wyszukiwania „Python3”To isen podane w parametrze URL. W takim przypadku wartość wyszukiwania wynosi „Python3„Który częściowo pasuje do jednego elementu tablicy, który jest„Pyton". Tak więc odległość Levenshtein staje się 1 dla tej wartości wyszukiwania podczas obliczania odległości levenshteina z trzecim elementem tablicy:
Wniosek
Różne zastosowania funkcji levenshtein (), które są pokazane w tym samouczku, pomogą nowym użytkownikom Python poznać cel używania tej funkcji i będzie w stanie prawidłowo używać jej w skrypcie.