Maison  >  Article  >  développement back-end  >  Fonction PHP levenshtein() qui renvoie la distance entre deux chaînes

Fonction PHP levenshtein() qui renvoie la distance entre deux chaînes

黄舟
黄舟original
2017-11-02 13:08:341218parcourir

Exemple

Calculer la distance de Levenshtein entre deux chaînes :

<?php
echo levenshtein("Hello World","ello World");
echo "<br>";
echo levenshtein("Hello World","ello World",10,20,30);
?>

Définition et utilisation

La fonction levenshtein() renvoie la distance entre deux chaînes Distance de Levenshtein.

La distance de Levenshtein, également connue sous le nom de distance d'édition, fait référence au nombre minimum d'opérations d'édition requises entre deux chaînes pour convertir une chaîne en une autre. Les opérations d'édition autorisées incluent le remplacement d'un caractère par un autre, l'insertion d'un caractère et la suppression d'un caractère.

Par défaut, PHP donne un poids égal à chaque opération (remplacement, insertion et suppression). Cependant, vous pouvez définir le coût de chaque opération en définissant les paramètres facultatifs d'insertion, de remplacement et de suppression.

Remarque : la fonction levenshtein() n'est pas sensible à la casse.

Remarque : la fonction levenshtein() est plus rapide que la fonction similar_text(). Cependant, la fonction similar_text() fournit des résultats plus précis avec moins de modifications nécessaires.

Syntaxe

levenshtein(string1,string2,insert,replace,delete)

Paramètres             Description

string1       Obligatoire. La première chaîne à comparer.

string2 Obligatoire. La deuxième chaîne à comparer.

insérer Facultatif. Le coût d'insertion d'un caractère. La valeur par défaut est 1.

remplacer Facultatif. Le coût de remplacement d'un personnage. La valeur par défaut est 1.

supprimer Facultatif. Le coût de la suppression d'un personnage. La valeur par défaut est 1.

Détails techniques

Valeur de retour : Renvoie la distance de Levenshtein entre les deux chaînes de paramètres, ou -1 si l'une des chaînes dépasse 255 caractères.

Version PHP : 4.0.1+

Si l'une des chaînes dépasse 255 caractères, levenshtein() Le la fonction renvoie -1.
La fonction levenshtein() n'est pas sensible à la casse.
La fonction levenshtein() est plus rapide que la fonction similar_text(). Cependant, la fonction similar_text() fournit des résultats plus précis qui nécessitent moins de modifications.
Exemple

<?php
    echo levenshtein("Hello World","ello World");
    echo "<br />";
    echo levenshtein("Hello World","ello World",10,20,30);
    ?>

Sortie :

 1 30

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn