Безопасно ли использовать array_key_exists () при проверке наличия элемента в массиве?

Я знаю, что в PHP можно проверить, находится ли элемент в массиве следующим образом:

if( my_array['item_one'] ){ # some code here... }

Это потому, что если предмет не, то null значение (равное false или же zero) возвращается вместо.

Но это всегда будет работать? Всегда ли будет безопасно делать это таким образом (потому что вы знаете … PHP)?

-5

Решение

Эта идиома плохая идея. Во-первых, как отмечено в комментариях, попытка получить доступ к несуществующему значению в массиве приведет к неизвестной ошибке индекса. Во-вторых, и что более важно, 0 а также FALSE это, безусловно, реальные значения, но вычисление ключей, указывающих на такие значения с помощью фрагмента, который вы предлагаете, будет действовать так, как если бы их не было, что просто неправильно.

Короче говоря, в PHP есть отличный инструмент для проверки, содержит ли массив ключ. array_key_exists. Там нет причин, чтобы не использовать его.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]