Documentación offline PHP master

similar_text

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

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.