операторы — оценка короткого замыкания PHP

У меня есть этот код:

if (!in_array('array_item', $body) || !is_int($body['array_item']))
throw new Exception();

Теперь из-за короткого замыкания я ожидал is_int не выполнять, если array_item не существует в $body, Тем не менее, я все еще получаю жалобы от PHP о «неопределенном индексе array_item», который, как я полагаю, исходит от $body['array_item'],

Может кто-нибудь объяснить мне, почему $body['array_item'] выполняется, если is_int нет?

0

Решение

in_array ищет значение в массиве. Если вы хотите увидеть, если ключ существует, используйте array_key_exists вместо

if (!array_key_exists('array_item', $body) || !is_int($body['array_item']))
throw new Exception();
5

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

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

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