thyscorpion Posted July 25, 2006 Share Posted July 25, 2006 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 closestforeach ($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.. Quote Link to comment Share on other sites More sharing options...
zq29 Posted July 25, 2006 Share Posted July 25, 2006 Try:[code]$searchresults = glob("*.txt");[/code]glob() returns its output as an array. Quote Link to comment Share on other sites More sharing options...
thyscorpion Posted July 26, 2006 Author Share Posted July 26, 2006 thanks! worked! my bad! :) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.