levenshtein
تابع levenshtein «فاصله لون اشتاین (Levenshtein Distance)» را می دهد. فاصله لون اشتاین یعنی چند تغییر لازم است تا رشته اول به دومی تبدیل شود. تغییر یعنی «جایگزینی»، «حذف»، یا «افزودن» یک نویسه.
تعریف و کاربرد فاصله لون اشتاین
levenshtein(string1, string2, insert, replace, delete) تعداد کمینه ویرایش ها را برمی گرداند. به صورت پیش فرض هزینه هر عمل برابر است. اما می توانی هزینه insert، replace و delete را تعیین کنی.
سینتکس
levenshtein(string1, string2, insert, replace, delete)
مثال ها
<?php
echo levenshtein("Hello World", "ello World");
echo "<br>";
echo levenshtein("Hello World", "ello World", 10, 20, 30);
?>
گام های عملی
- دو رشته آماده کن.
- تابع levenshtein را صدا بزن.
- در صورت نیاز هزینه ها را تنظیم کن.
- عدد خروجی را تفسیر کن.
نکات مهم
نکته: این تابع نسبت به بزرگی و کوچکی حروف حساس نیست.
نکته: معمولاً از similar_text() دقیق تر نیست، اما سریع تر است.
هشدار: اگر یکی از رشته ها بیش از 255 نویسه باشد، مقدار -1 برمی گردد.
جمع بندی سریع
- فاصله لون اشتاین تعداد ویرایش های لازم است.
- می توانی هزینه هر عمل را تنظیم کنی.
- خروجی عدد است؛ کمتر یعنی شبیه تر.
- برای سرعت بهتر از مشابه متن سریع تر است.