Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/10/2014, 14:48
eguar1978
 
Fecha de Ingreso: febrero-2011
Mensajes: 12
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: PHP con Tabla MYSQL

NSD muchas gracias por tu respuesta, tu sabes que con Levenshtein me acerco bastante al resultado, pero no es 100% lo que quiero.

Ejemplo, estoy buscando este valor 18768141230 en estos.

18763805086
18763805171
187638050770
187638051710
18763800100
18763800130
1876814
18768143457
1876814256

Y me da como resultado el que marco en rojo, y yo necesito que me de como resultado el que marco en azul...
En realidad que me de como resultado el azul porque coinciden los 7 primeros números, quiere decir que el 18768141230 entra como derivado del 1876814.

Adjunto el código.

Código PHP:
<?php

$input 
'18768141230';

$words  = array('18763805086','18763805171','187638050770','187638051710','1876814','18763800100','18763800130','18768143457','1876814256');

$shortest = -1;

foreach (
$words as $word) {

    
$lev levenshtein($input$word);

    if (
$lev == 0) {

        
$closest $word;
        
$shortest 0;

        break;
    }

    if (
$lev <= $shortest || $shortest 0) {

        
$closest  $word;
        
$shortest $lev;
    }
}

echo 
"Valor a buscar: $input\n";
if (
$shortest == 0) {
    echo 
"Valor exacto: $closest\n";
} else {
    echo 
"El mas cercano: $closest?\n";
}

?>