Documentación offline PHP master

levenshtein

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

levenshtein

Calcula la distancia Levenshtein entre dos strings

Descripción#

levenshtein(string $string1, string $string2, [int $insertion_cost], [int $replacement_cost], [int $deletion_cost]): int
```php

La distancia Levenshtein se define como el número mínimo de caracteres que deben ser reemplazados, insertados o eliminados para transformar el string `string1` en `string2`. La complejidad del algoritmo es de `O(m*n)`, donde `n` y `m` son los tamaños respectivos de `string1` y `string2`: es bastante buena, en comparación con `similar_text`, que es de `O(max(n,m)**3)`, pero sigue siendo muy costosa.

Si `insertion_cost`, `replacement_cost` y/o `deletion_cost` son diferentes de `1`, el algoritmo se adapta para elegir la transformación menos costosa. Por ejemplo, si `$insertion_cost + $deletion_cost < $replacement_cost`, no se realizará ningún reemplazo, sino inserciones y eliminaciones.

## Parámetros

`string1`  
Uno de los strings a evaluar.

`string2`  
Uno de los strings a evaluar.

`insertion_cost`  
Define el costo de la inserción.

`replacement_cost`  
Define el costo del reemplazo.

`deletion_cost`  
Define el costo de la eliminación.

## Valores devueltos

Esta función devuelve la distancia Levenshtein entre dos strings.

## Historial de cambios

| Versión | Descripción |
|----|----|
| 8.0.0 | Antes de esta versión, `levenshtein` debía ser llamada con dos o cinco argumentos. |
| 8.0.0 | Antes de esta versión, `levenshtein` devolvía `-1` si alguno de los strings de los argumentos superaba los 255 caracteres. |

## Ejemplos

Ejemplo con `levenshtein`

```php

El ejemplo anterior mostrará:

Palabra ingresada: carrrot
¿Quiso decir: carrot?

Véase también#

soundex, similar_text, metaphone