Как удалить элемент массива, содержащий определенное слово в PHP - PullRequest
0 голосов
/ 19 июня 2020

У меня есть массив, содержащий такие слова, как «бесплатный совет», «консультация», «запросить бесплатно» и т. Д. c. И я хочу удалить элементы, содержащие слово «бесплатно». У меня есть следующие коды, но вывод пустой. Кто-нибудь может мне помочь? Заранее спасибо!

foreach ($myarray as $value){ 
   // remove words containing 'free' 
   if (strpos($value, 'free') !== false) {
             unset($myarray[$value]);
   }
} 

1 Ответ

2 голосов
/ 19 июня 2020

У массивов есть ключи и значения. Вы смотрите на значения, но пытаетесь отключить ключи. Если они не совпадают (т.е. ваш массив выглядит как ['test' => 'test', 'freedom' => 'freedom']), это не то, что вам нужно. Попробуйте это:

foreach ($myarray as $key => $value){ 
    // remove words containing 'free' 
    if (strpos($value, 'free') !== false) {
        unset($myarray[$key]);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...