(PHP 4, PHP 5, PHP 7, PHP 8)
similar_text — Calcula la similitud entre dos strings
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.
string1El primer string.
string2El segundo string.
Nota:
Invertir
string1ystring2puede 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.
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.
Ejemplo #1 Ejemplo de similar_text() invirtiendo los argumentos
Este ejemplo muestra que invertir los argumentos string1 y
string2 puede producir resultados diferentes.
<?php
$sim = similar_text('bafoobar', 'barfoo', $perc);
echo "similaridad: $sim ($perc %)\n";
$sim = similar_text('barfoo', 'bafoobar', $perc);
echo "similaridad: $sim ($perc %)\n";Resultado del ejemplo anterior es similar a :
similaridad: 5 (71.428571428571 %) similaridad: 3 (42.857142857143 %)