Jump to content

Archived

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

thyscorpion

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

Recommended Posts

hi.
i was trying to use the following code to work of levenshtein()
[code]
<?php
// input misspelled word
$input = 'carrrot';

// array of words to check against
$words  = array('apple','pineapple','banana','orange',
              'radish','carrot','pea','bean','potato');

// 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
      break;
  }

  // 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',
              'radish','carrot','pea','bean','potato');[/code]
if i use:
[code]$searchresults = array(glob("*.txt"));
[/code]
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
Try:
[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.