@MrOnatsky

Как лучше реализовать проверку на наличие в черном/белом списке?

Здравствуйте!
Подскажите, как по вашему мнению лучше всего реализовать проверку на наличие того или иного названия (значения) в созданном вами списке (массиве)?

Использую два способа, и оба они прекрасно работают. Но все же стало интересно, как лучше то?

Вот так:
$blacklist = array('огурец', 'баклажан', 'помидор');

foreach($vegetables as $vegetable) if ( !in_array($vegetable, $blacklist) ):
//....
endif;


Или вот так:
$blacklist = array('огурец' => '', 'баклажан' => '', 'помидор' => '');

foreach($vegetables as $vegetable) if ( !isset( $blacklist[$vegetable] ) ):
//....
endif;


Заранее благодарю за отзывы! Понимаю что вопрос скорее всего дурацкий, но все же. :)

P.S. В мой случае черный список составляется из 3-4 массивов разной структуры, и в каждом из них есть схожие значения (до 70%). В foreach перебираю их все и запихиваю в один новый массив $blacklist по ключу, и по нему же в дальнейшем делаю проверку через isset. Сам черный список состоит примерно из 2к-3к значений, а основной список из 100к-200к.
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ответы на вопрос 1
R0dger
@R0dger
Laravel/Yii/2 AngularJs PHP RESTful API
В БД не пробовали все это сделать? а так php.net/manual/ru/function.microtime.php и смотрите что быстрее.
во втором случае зачем вам такой код.. я бы сделал $blacklist = array_flip($blacklist);
уж точно читаться лучше будет!
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект