2016-11-16 61 views
-1

有人能解釋這裏發生了什麼:邏輯中,如果用數字PHP語句

if(2 && 5 < 4) 

如果我已經有了例如

$x = 2 && 3; 

和後續代碼var_dump($ x)的它給布爾(真)不管數字是多少。 但是這裏看起來數字與4一一對比。

+1

「var_dump($ x)它給布爾值(真),不管什麼數字都是」不是「。如果其中一個值爲false,則轉儲也將是錯誤的。 – PeeHaa

+1

下面是關於發生什麼的一些信息:http://php.net/manual/en/language.types.boolean.php –

回答

2

看看PHP對照表PHP http://php.net/manual/en/types.comparisons.php

對於整數一批比對照0返回true等。

if (2 && 5 < 4) => if (true && false) => false 

$x = 2 && 3 = 1 && 1 = 1 

因爲如果變量具有整數值,則由於類型轉換,true變爲1。