similar_text
En esta página
similar_text
Calcula la similitud entre dos strings
Descripción#
similar_text(string $string1, string $string2, [float $percent]): int
```php
Calcula la similitud entre los dos strings `string1` y `string2`, según el método descrito en Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1). Se debe tener en cuenta que esta implementación no utiliza el método de pila como en el pseudocódigo de Oliver, sino llamadas recursivas, lo que puede acelerar o no el proceso. Se debe tener en cuenta que la complejidad del algoritmo es de O(N\*\*3) donde N es el tamaño del string más grande.
## Parámetros
`string1`
El primer string.
`string2`
El segundo string.
> [!NOTE]
> Invertir `string1` y `string2` puede producir resultados diferentes; ver el ejemplo a continuación.
`percent`
Al pasar una referencia como tercer argumento, `similar_text` calculará la similitud en porcentaje, dividiendo el resultado de `similar_text` por la media de la longitud de los strings proporcionados multiplicado por `100`.
## Valores devueltos
Devuelve el número de caracteres coincidentes en los dos strings.
El número de caracteres coincidentes se calcula encontrando la primera subcadena común más larga, y luego haciendo esto para los prefijos y sufijos, de forma recursiva. Las longitudes de todas las subcadenas comunes se suman.
## Ejemplos
Ejemplo de `similar_text` invirtiendo los argumentos
Este ejemplo muestra que invertir los argumentos `string1` y `string2` puede producir resultados diferentes.