Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Помогите сравнить строки многомерного массива со словами одномерным массивом
Как сделать так: сравнить слова из строк многомерного массива со строками из одномерного массива, и если есть совпадение, то посчитать их в переменной с обозначением массива из многомерного массива. Звучит дико, но сейчас покажу как должно быть в данном примере:
Вывод должен быть примерно такой:
$check = 0;
$points = 3;
$dates = 23;
$tags = 0;
Т.е. скрипт проверяет есть ли слово из одномерного массива в массиве из многомерного массива, и если есть, то счетчик с названием опр. массива (например, из массива [dates] счетчик $dates) прибавляет столько, сколько слов нашел в элементах этого массива.
Как-то так, если что могу что не понятно пояснить!
Я тут уже часа 2 думаю над этим, единственное что в голову пришло - заюзать array_intersect_uassoc
Примерно так:
И тут написать функцию, которая бы сравнивала строки 1 массива со словами 2 массива, что-то такое, но у меня мозгов на такое не хватает, пока. (Добавление)
Ну или можно и так, что многомерный массив будет такой:
echo"<b>Found</b> ($needle) in ($haystack) in($pos)<br/>";
$all+=1;
}
}
echo"All Found: ".$all;
echo" Empty: ".$empt;
}
?>
Но только есть одна проблема, если у нас в массиве есть слово ток, а в другом поток, то это будет считаться true.
Правда, решить можно так:
Вначале функции
Я перегнул как всегда. Функция не нужна, только вложенный цикл.
И нужно будет преобразовать многомерный массив в одномерный.
Со счетчиком, наверное, так: надо разбить многомерный массив на несколько одномерных
dates, check и т.д., затем последовательно, видимо, через функцию, сравнивать тот первый массив - назовем его массивом ключевых слов - с новыми одномерными. И тогда писать счетчики. Может быть здесь как-то может пригодиться array_walk или array_walk_recursive
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.