[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Кол-во слов в строке
ELked
Пытаюсь подсчитать кол-во слов в строке, делаю вот так:
<?php
header("Content-type:text/html;charset=utf-8");

function str_count($str, $source)
{
$arr=explode($str,$source);
return(count($arr)-1);
}
$important_words = array('213', 'fsa', 'test', 'qwerty', 'aza');
$text = 'ok 213 test';
for($i=0;$i<count($important_words);$i++){
$count = str_count($important_words[$i], $text);
}
if($count>0){
echo '1';
}
else{
echo "2";
}

?>


Возвращает 2, как поправить? Использовать while?
rooor
не правильно будет считать)
ELked
Цитата
не правильно будет считать)

да это понял, но почему? sad.gif
walerus
Цитата
Пытаюсь подсчитать кол-во слов в строке, делаю вот так:
строка какая ? и условия подсчета?... я просто не понял к чему это ?
$important_words = array('213', 'fsa', 'test', 'qwerty', 'aza');
rooor
так тебе что нужно, кол-во слов в строке или что? даже если твой код и будет работать, он будет считать все вхождения, а не слова
ELked
Цитата
я просто не понял к чему это ?

массив со словами на которые я буду проверять строку.
rooor
walerus
$important_words - слова которые надо найти в строке)
$text - строка)
walerus
т.е. сколько раз встречаются вот эти "'213', 'fsa', 'test', 'qwerty', 'aza'" слова, в строке?, по каждому слову отдельно? типа...
'213' = 5 раз
'fsa' = 1раз
'test' = 0 раз и т.д. ?
ELked
Цитата
т.е. сколько раз встречаются вот эти "'213', 'fsa', 'test', 'qwerty', 'aza'" слова, в строке?, по каждому слову отдельно? типа...
'213' = 5 раз
'fsa' = 1раз
'test' = 0 раз и т.д. ?

ага
walerus
<?php
header("Content-Type: text/html; charset=utf-8");

set_time_limit(0);
error_reporting(E_ALL);

$text = 'ok 213 test ok the best qwerty keyboard ok from aza on 213 year lol ololsh test mouse 214 mouse is otest';
$search_words = array('ok', '213', 'fsa', 'test', 'qwerty', 'aza');

echo "TEXT => " . $text . "<br>\n";

echo "СЛОВА => " . implode( ", ", $search_words ) . "<hr>";

$text = explode( ' ', $text );
$text_1 = array_count_values( $text );

foreach( $search_words as $search_words_value )
{
if ( isset($text_1[$search_words_value]) )
{
echo "Слово <b>" . $search_words_value . "</b> - встречается - " .
$text_1[$search_words_value] . " раз(a)<br>\n";
}
else
{
echo "Слово <b>" . $search_words_value . "</b> - отсутствует в данном предложении<br>\n";
}

}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.