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

دليل PHP الأساسي

دليل PHP المتقدم

PHP & MySQL

دليل PHP

استخدام دالة levenshtein() في PHP ومثال

دليل الوظائف السترينغ في PHP

استخدمت الدالة levenshtein() لحساب المسافة بين الكلمتين.

النحو

int levenshtein ( string $str1 , string $str2 )

التعريف والاستخدام

لحساب المسافة بين الكلمتين.

مسافة التحرير هي عدد الحروف التي تحتاج إلى تبديل، وإدراج، وحذف لتحويل الكلمة str1 إلى الكلمة str2. معقدية هذا الخوارزمية هي O(m*n)، حيث n و m هي أطول الكلمتين (عند مقارنتها بـ similar_text() الذي له معقدية O(max(n,m)**3)، فإن هذه الدالة لا تزال جيدة، على الرغم من أنها تستغرق وقتاً طويلاً.).
في أكثر بسيطته، يعتمد هذا الدالة فقط على كلمتين كمعلمتين، ويحسب عدد العمليات المطلوبة لتحويل str1 إلى str2 من خلال إدراج، تبديل، وحذف، وما إلى ذلك.
النوع الثاني من التنسيق يستخدم ثلاثة معلمات إضافية لتحديد عدد التبديلات والإدراجات والحذف. هذا التنسيق أكثر تطبيقاً وملاءمة، ولكن ليس به كفاءة.

القيمة المعدودة

يستعيد المسافة بين الكلمتين السترينغية بين المعلمتين، وإلا يعود -1

المعلمات

الرقمالمعلمات والشرح
1

str1

البحث عن واحدة من الكلمتين في مسافة التحرير

2

str2

البحث عن الكلمة الأخرى في مسافة التحرير

3

cost_ins

تحديد عدد الإدراجات

4

cost_del

تحديد عدد التبديلات

مثال على الإنترنت

تجربة المثال التالي، حساب المسافة بين الكلمتين:

<?php
   //حساب المسافة بين الكلمتين
   echo 'the distance between two strings is ';
   echo levenshtein("Hello World","ello World");
?>
اختبار لمعرفة‹/›

نتيجة الإخراج-

المسافة بين الكلمتين هو 1

دليل الوظائف السترينغ في PHP