public static function suggestNearest($input, array $choices, $num)
{
$distances = array_fill_keys($choices, PHP_INT_MAX);
foreach ($distances as $word => $_) {
$distances[$word] = levenshtein($input, $word);
}
asort($distances);
return array_slice(array_keys($distances), 0, min($num, count($choices)));
}
public function testSuggestions() { $input = "orangee"; $choices = array("apple", "orange", "pear"); $suggestions = CapabilityProfile::suggestNearest($input, $choices, 1); $this->assertEquals(1, count($suggestions)); $this->assertEquals("orange", $suggestions[0]); }