Есть массив $bad, в нем содержатся запрещенные слова, есть массив $divs который не должен содержать элементы массива $bad, я пробую фильровать при помощи array_walk, если есть совпадение результат 1, если нет, то 0. Как заставить array_walk возвращать корректные значения ?
function test(&$item1,$key,$prefix)
{
if (!preg_match($item1, $prefix))
{
return true;
}
}
$bad = array('/soc/','/comm/','/share/');
foreach($divs as $temp)
{
echo array_walk($bad, 'test', $temp);
}
http://php.net/manual/ru/function.array-diff.php
Находите попросту расхождения массивов.
$result = array_diff($divs, $bad);
Получите в $result те значения $divs которых нет в $bad
<?php
$divs = array('str1','str2','/soc4353453','/comm/','/share/');
$bad = array('soc','comm','share');
$good = [];
foreach($divs as $temp)
{
foreach($bad as $bad_item){
if(strripos($temp, $bad_item)){
goto end;
}
}
$good[] = $temp;
end:
}
print_r($good);
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Необходимо сравнить два столбца из двух разных таблиц, но отобразить только отличающиеся
Как так сделать? Я делаю систему диалогов пользователейИ мне нужно чтоб когда один человек отправлял сообщение у друго-го оно появляясь без...
есть у меня 2 функции шифровки и дешифровки по указанному ключу на php: