توابع ليفنشتاین در پيهپ
مثال
حساب فاصله ليفنشتاین بین دو رشته:
<?php echo ليفنشتاین("Hello World","ello World"); echo "<br>"; echo ليفنشتاین("Hello World","ello World",10,20,30); ?>
تعریف و استفاده
فنکشن levenshtein() فاصله لیونشتاین بین دو رشته را بازمیگرداند.
فاصله لیونشتاین، که به عنوان فاصله ویرایش نیز شناخته میشود، تعداد کمترین عمل ویرایشی بین دو رشته است که نیاز به تبدیل یک رشته به رشته دیگر دارد. عملهای مجاز شامل جایگزینی یک کاراکتر با کاراکتر دیگر، اضافه کردن یک کاراکتر و حذف یک کاراکتر است.
به طور پیشفرض، PHP برای هر عمل (جایگزینی، اضافه کردن و حذف)权重 یکسانی قرار میدهد. اما میتوانید با تنظیم پارامترهای اختیاری insert، replace، delete، هزینه هر عمل را تعریف کنید.
نکته:فنکشن levenshtein() بین حروف بزرگ و کوچک تفاوت نمیگذارد.
نکته:فنکشن levenshtein() سریعتر از similar_text() فنکشن سریعتر است. اما، فنکشن similar_text() با تعداد کمتری تغییرات ضروری میتواند نتیجه دقیقتری ارائه دهد.
جملات
levenshtein(string1,string2,افزودن,جایگزینی,حذف)
پارامترها | توضیح |
---|---|
string1 | ضروری. رشته اول که باید مقایسه شود. |
string2 | ضروری. رشته دوم که باید مقایسه شود. |
افزودن | اختیاری. هزینه اضافه کردن یک کاراکتر. پیشفرض 1 است. |
جایگزینی | اختیاری. هزینه جایگزینی یک کاراکتر. پیشفرض 1 است. |
حذف | اختیاری. هزینه حذف یک کاراکتر. پیشفرض 1 است. |
جزئیات فنی
بازگشتی: | فاصله لیونشتاین بین دو رشته بینجای دو پارامتر بازمیگرداند. اگر یکی از رشتهها بیش از 255 کاراکتر باشد، -1 بازمیگرداند. |
نسخه PHP: | 4.0.1+ |