#php #arrays
#php #массивы
Вопрос:
Учитывая значение #some_id = x, каков правильный синтаксис или метод для проверки того, что идентификатор не существует в коллекции идентификаторов?
Например…
if($some_id not in array(3, 5, 9)){
//do something
}
Ответ №1:
$theArray = array(3, 5, 9);
if(! in_array($x, $theArray)){
// do something
}
Комментарии:
1. Ты опередил меня на пару секунд :/
Ответ №2:
in_array слишком медленный
$array = array_flip($array);
if(!isset($array[$some_id])){ // do something }
Комментарии:
1. Вы правы, это быстрее, но в большинстве случаев это не имеет значения, и in_array намного легче читать.
Ответ №3:
Ответы in_array верны, но в случае некоторой двусмысленности между терминами «id» и «key», если вы пытаетесь проверить, существует ли ключ, вы могли бы выполнить одно из следующих действий:
if (array_key_exists($key, $array)) ...
или…
if (isset($array[$key])) ...