حساب مسافة Levenshtein بين سلسلتين:
<?php صدى levenshtein ( " Hello World " ، " ello World " ) ؛ صدى " <br> " ; ليفنشتاين ( " أهلاً بالعالم " ، " أهلاً بالعالم " ، 10 ، 20 ، 30 ) ? >ترجع الدالة levenshtein() المسافة Levenshtein بين سلسلتين.
تشير مسافة Levenshtein، المعروفة أيضًا بمسافة التحرير، إلى الحد الأدنى لعدد عمليات التحرير المطلوبة لتحويل سلسلة إلى أخرى بين سلسلتين. تتضمن عمليات التحرير المسموح بها استبدال حرف بآخر، وإدراج حرف، وحذف حرف.
افتراضيًا، تعطي PHP وزنًا متساويًا لكل عملية (الاستبدال، والإدراج، والحذف). ومع ذلك، يمكنك تحديد تكلفة كل عملية عن طريق تعيين معلمات الإدراج والاستبدال والحذف الاختيارية.
ملاحظة: الدالة levenshtein() غير حساسة لحالة الأحرف.
ملحوظة: الدالة levenshtein() أسرع من الدالةlike_text(). ومع ذلك، توفر الدالةlike_text() نتائج أكثر دقة مع تعديلات أقل مطلوبة.
ليفنشتاين ( سلسلة 1، سلسلة 2، إدراج، استبدال، حذف )
المعلمة | يصف |
---|---|
سلسلة1 | مطلوب. السلسلة الأولى للمقارنة. |
سلسلة2 | مطلوب. السلسلة الثانية للمقارنة. |
إدراج | خياري. تكلفة إدخال الحرف. الافتراضي هو 1. |
يستبدل | خياري. تكلفة استبدال الشخصية. الافتراضي هو 1. |
يمسح | خياري. تكلفة حذف الحرف. الافتراضي هو 1. |
قيمة الإرجاع: | تُرجع المسافة Levenshtein بين سلسلتي الوسيطتين، أو -1 إذا تجاوزت إحدى السلاسل 255 حرفًا. |
---|---|
نسخة PHP: | 4.0.1+ |