@Kak_B_CTapou_Cka3ke

Как в массиве оставить значения, содержащие только определённые слова?

Нужно оставить только те элементы PHP массива, которые содержат слова куплю, продам, а остальные удалить. Как это лучше сделать или где почитать?
Благодарю!

Пользовался таким способом, но тут без удаления, немного не то, что мне нужно:
foreach ( $array as $k=>$v )
{
if (stripos($v,'куплю',0) !== false || stripos($v,'продам',0) !== false) {...}
};
  • Вопрос задан
  • 309 просмотров
Решения вопроса 3
Fragster
@Fragster
помогло? отметь решением!
Комментировать
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
$array = array_filter($array, function($v) {
    return (stripos($v, 'куплю') !== false || stripos($v, 'продам') !== false);
});
Ответ написан
Комментировать
@vdem
Не тестировал, но как-то так:
$source = [...];
$words = ['куплю', 'продам'];
$result = array_filter($source, function($item) use ($words) {
    return count(array_filter($words, function($word) use ($item) {
        return mb_stripos($item, $word) !== false;
    }));
});

UPD: Исправлено.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы