Jump to content


This topic is now archived and is closed to further replies.


glob() problem for arrays.. HELP!...

Recommended Posts

i was trying to use the following code to work of levenshtein()
// input misspelled word
$input = 'carrrot';

// array of words to check against
$words  = array('apple','pineapple','banana','orange',

// no shortest distance found, yet
$shortest = -1;

// loop through words to find the closest
foreach ($words as $word) {

  // calculate the distance between the input word,
  // and the current word
  $lev = levenshtein($input, $word);

  // check for an exact match
  if ($lev == 0) {

      // closest word is this one (exact match)
      $closest = $word;
      $shortest = 0;

      // break out of the loop; we've found an exact match

  // if this distance is less than the next found shortest
  // distance, OR if a next shortest word has not yet been found
  if ($lev <= $shortest || $shortest < 0) {
      // set the closest match, and shortest distance
      $closest  = $word;
      $shortest = $lev;

echo "Input word: $input\n";
if ($shortest == 0) {
  echo "Exact match found: $closest\n";
} else {
  echo "Did you mean: $closest?\n";

?> [/code]

but when instead of the array line:
[code]$words  = array('apple','pineapple','banana','orange',
if i use:
[code]$searchresults = array(glob("*.txt"));
i get an Output like:
[b]"Did you mean: Array?"[/b]
where instead of the Array word it is supposed to print out the value in $closest! plz help..
i am in a fix with it..

Share this post

Link to post
Share on other sites
[code]$searchresults = glob("*.txt");[/code]
glob() returns its output as an array.

Share this post

Link to post
Share on other sites


Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.