DiffMatchPatch\Diff::levenshtein PHP Метод

levenshtein() публичный Метод

Compute the Levenshtein distance; the number of inserted, deleted or substituted characters.
public levenshtein ( ) : integer
Результат integer Number of changes.
    public function levenshtein()
    {
        $diffs = $this->getChanges();
        $levenshtein = 0;
        $insertions = 0;
        $deletions = 0;
        foreach ($diffs as $change) {
            $op = $change[0];
            $text = $change[1];
            switch ($op) {
                case self::INSERT:
                    $insertions += mb_strlen($text);
                    break;
                case self::DELETE:
                    $deletions += mb_strlen($text);
                    break;
                case self::EQUAL:
                    // A deletion and an insertion is one substitution.
                    $levenshtein += max($insertions, $deletions);
                    $insertions = 0;
                    $deletions = 0;
                    break;
            }
        }
        $levenshtein += max($insertions, $deletions);
        return $levenshtein;
    }