Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.12 KB | None | 0 0
  1. <?php
  2. // palabra de entrada mal escrita
  3. $input = 'carrrot';
  4.  
  5. // array de palabras contra las cuales verificar
  6. $words  = array('apple','pineapple','banana','orange',
  7.                 'radish','carrot','pea','bean','potato');
  8.  
  9. // no se ha encontrado la distancia más corta, aun
  10. $shortest = -1;
  11.  
  12. // bucle a través de las palabras para encontrar la más cercana
  13. foreach ($words as $word) {
  14.  
  15.     // calcula la distancia entre la palabra de entrada
  16.     // y la palabra actual
  17.     $lev = levenshtein($input, $word);
  18.  
  19.     // verifica por una coincidencia exacta
  20.     if ($lev == 0) {
  21.  
  22.         // la palabra más cercana es esta (coincidencia exacta)
  23.         $closest = $word;
  24.         $shortest = 0;
  25.  
  26.         // salir del bucle, se ha encontrado una coincidencia exacta
  27.         break;
  28.     }
  29.  
  30.     // si esta distancia es menor que la siguiente distancia
  31.     // más corta o si una siguiente palabra más corta aun no se ha encontrado
  32.     if ($lev <= $shortest || $shortest < 0) {
  33.         // establece la coincidencia más cercana y la distancia más corta
  34.         $closest  = $word;
  35.         $shortest = $lev;
  36.     }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement