1 village_idiot Jul 03, 2006 13:10
3 edb Jul 03, 2006 16:05
Um... how can you search for something if you don't know what it is? In other words, if you have no value for $needle how would you know if you found it or not?
4 village_idiot Jul 03, 2006 20:03
answer to first questions, sure :) there is a space seperating each item
apple orange pineapple pear kiwi lemon apple apple kiwi lemon
and im not really trying to search, least i dont think. I just want to count how many apples, how many kiwis, etc.. but some days there might be a whole nother list of fruit, like no kiwis but instead watermelon :)
hence the problem with the php $needle in $haystack idea :(
5 balupton Jul 03, 2006 20:24
Is this what ur looking for.
Edit:
Here you go (see attached)
6 personman Jul 03, 2006 20:34
This might help:
http://www.webdeveloper.com/forum/showthread.php?t=104239
7 balupton Jul 03, 2006 20:44
Dam those regular expressions ;) ( need to learn them sometime :D )
Here's the modified code from personman's suggestion to do what you want. It returns the same output as method_one of the attached file in my previous post.
$str = 'apple orange pineapple pear kiwi lemon apple apple kiwi lemon';
echo 'Personman\'s suggestion';
function MostPopularWords($target, $minimum_word_length = 3)
{
preg_match_all('/[a-z]{'.$minimum_word_length.',}/', strtolower($target), $matches);
$words = array();
foreach($matches[0] as $word)
{
isset($words[$word]) ? $words[$word]++ : $words[$word] = 1 ;
}
array_multisort($words, SORT_NUMERIC, SORT_DESC);
return $words;
}
echo '<pre>';
print_r(MostPopularWords($str));
echo '</pre>';
8 village_idiot Jul 03, 2006 20:44
mmm :) thanks both of you!!!
thats pretty code, balupton, unfortunately, its doing that $needle in $haystack thing where you have to define the needles, (wont work) the needles might change. :(
personman, that might be 'zactly what I am looking for.. :) good to know im not the only lost soul on the 'net looking for something like that :P
9 balupton Jul 03, 2006 20:53
MethodTwo and MethodThree of my code doesn't return an array with keys...
[ array ( $key => $value ) ]....
But yeh, otherwise just use a split on your string, or the modified code from personman's suggestion that i attached previously...
Thats if i'm following what you mean...
Do you know the length of the strings? Or is there something that separates them? You could read the file, then explode it into an array and try searching for each string in the array.