0
我有這樣的代碼: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
不是?
工作正常我的PHP 7.0.8安裝。 '||'不發出警告。 –
@ chris85:錯。如果它是'&&',則兩者都必須進行測試。這就是爲什麼它是允許短路的「||」。如果'或'的任何部分是真的,那麼整個事情就是真實的,這意味着後面的術語可以被跳過。 –
啊誤讀了。是的,這是有道理的。這裏沒有通知https://3v4l.org/hnHM8 – chris85