


Программирование
+4Foreach и поиск подстроки (PHP)
Имеется конструкция:
$message = $_GET['text'];
$messages_array = [
'чай' => "липтон",
'кофе' => "нескафе",
'сок' => "добрый"
];
foreach($messages_array as $k => $v)
{
if($message == $k){$otwet = $v;}
}
Работает только если $message полностью совпадает с $k
Как можно найти в $message слово, совпадающее с $k, если $message состоит из нескольких слов, чтобы эта конструкция работала без ошибок?
Например, чай в пакетиках, растворимый кофе.
С strpos не получилось, может, что-то неправильно делаю?
foreach($messages_array as $k => $v)
{
if (strpos($message, $k) === false){$otwet = 'пусто';}else{$otwet = $v;}
}
По дате
По рейтингу
Если в словах кириллица, то используй mb_strpos()
Вы погуглите эту функцию, она же вроде возвращает индекс подстроки, а не булево значение
Больше по теме