NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!

PHP - levenshtein

Třída

Kořen \ Bez třídy

Metoda - levenshtein

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

Funkce levenshtein() počítá Levenštejnovu vzdálenost mezi dvěma řetězci. Ta je definována jako minimální počet znaků, které je nutné změnit, přidat nebo odebrat, aby byly oba řetězce stejné. Popisuje tedy jak moc se od sebe liší. Časové složitost algoritmu je O(m * n), kde m a n jsou délky řetězců. Funkce je efektivnější než funkce similar_text().

Procedurální

  • function levenshtein (string $str1, string $str2, int $cost_ins, int $cost_rep, int $cost_del) : int
  • function levenshtein (string $str1, string $str2, int $cost_ins, int $cost_rep, int $cost_del) : int

Parametry

NázevDatový typVýchozí hodnotaPopis
$str1string

První řetězec pro porovnávání.

$str2string

Druhý řetězec pro porovnávání.

$cost_insint

Definuje cenu vložení znaku.

$cost_repint

Definuje cenu náhrady znaku.

$cost_delint

Definuje cenu odstranění znaku.

Návratové hodnoty

Vrací: int

Vrací Levenštejnovu vzdálenost mezi dvěma zadanými řetězci nebo -1, pokud jeden z argumentů přesahuje limit 255 znaků.

Příklady

<?php
echo levenshtein('Honza', 'Hons a'); // 1 vložení + 1 náhrada znaku = vrací 2
echo '<br>';
echo levenshtein('Honza', 'Hons a', 5, 3, 1); // 1 vložení (5) + 1 náhrada (3) = vrací 8

Související manuály

      • function similar_text (string $first, string $second, float &$percent) : int
      Aktivity