im пытается найти в массиве для badwords. мой массив выглядит следующим образом:php array многомерный поиск для плохих слов
Array
(
[base] => 2312783821823912
[charset] => utf-8
[Product] => Samsung PD291 Printer
[meta] => Array
(
[description] => fucking nice Printer
[keywords] =>
)
[n2] => Array
(
[w1] => Array
(
[0] => printer
)
[w2] => Array
(
[0] => Menu
[1] => Main menu
[2] => Social
[3] => Speakers
[4] => 2015
[5] => Highlight
[6] => And... Action!
[7] => Short
[8] => Platin
[9] => Gold
[10] => Silber
[11] => Bronze
[12] => partner
)
)
}
У меня есть BADWORD массив как: $ плохой = массив («трахаться»,»....);
Теперь я немного смущен, что было бы самым быстрым способ сканировать все значения первого массива и возвращает истину или ложь, если она содержит матные?
Какой совет поможет ;-)
Спасибо!
// еди т:
Спасибо @ всем ... я буду использовать:
class BadWordFilter {
private static $bad = "/fuck|ass/i";
public static function hasBadWords($input) {
foreach ($input as $element) {
if (is_array($element)) {
if (self::hasBadWords($element)) {
return true;
}
} else {
if (preg_match(self::$bad, $element)) {
return true;
}
}
}
return false;
}
}
Я испытал это, и это будет самым быстрым решения моей проблемы ;-))
Спасибо всем
1. Вы пробовали что-нибудь? 2. * сканировать все значения первого массива * <- Вы хотите сказать, что хотите только сканировать первое измерение массива? – Rizier123
Использовать foreach loop и in_array функцию PHP –
oh, извините, я забыл :) – jimbo