Дана случайная строка, пример
$str = "Один два три четыре пять";
Есть заданный массив
$array[0] = array('яблоко', 'четыре', 'кактус');
Задача, проверить, есть ли в строке $str слово, которое совпадает с элементом массива $array[0]. Желательно без циклов, если возможно. Если невозможно, то как можно оптимизированее для большого трафика.
Сейчас код такой
if (in_array(mb_strtolower($str), $array[0])) {
//true
}
Но такой код сверяет всю строку с массивом. Первое что приходит в голову: разбить строку через explode(), и потом проверять каждое слово циклом через in_array. Но боюсь это все повиснет при большом потоке, может есть какая либо функция, для моей задачи?
Есть вариант использовать функцию array_intersect, если результат функции будет пустой значит совпадений нет, если нет - значит совпадения есть, но перед этим строку через explode по пробелу превратим в массив:
$array[0] = array('яблоко', 'четыре', 'кактус');
$str = "Один два три четыре пять";
if (array_intersect(explode(' ', $str), $array[0])) {
echo 'Совпадение есть';
}
else {
echo 'Совпадений нет';
}
Выведет что совпадения есть.
$str = mb_strtolower($str);
foreach ($array[0] as $word) {
if (strpos($str, $word) >= 0) {
//слово есть
break;
}
}
<?php
$str = "Один два три четыре пять";
$array[0] = array('яблоко', 'четыре', 'кактус');
$boo = "Ни один элемент массива не обнаружен в строке";
foreach($array[0] as $search){
$pos = strpos($str, $search);
if ($pos !== false) {
$boo = "Элемент '$search' найден в строке '$str'";
break;
}
}
echo $boo;
?>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Имеется php файл который выводит название городовНужно сделать так, что бы перед выводом информации шла проверка на наличие записи в БД
Использую стартер-кит и в нем glideНо при заливке на продакшен появилась ошибка 500 при загрузке картинок src="http://site
Помогите сделать вывод сообщений как в диалоговом окне в VK( не по стилю, а по функционалу),что бы выводило сообщения по времени(вместо его...