我有这段代码:
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 :(得分:5)
in_array
在数组中查找值。如果您想查看,如果存在密钥,请使用array_key_exists
代替
if (!array_key_exists('array_item', $body) || !is_int($body['array_item']))
throw new Exception();