levenshtein
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