來源:青燈夜游 發(fā)布時間:2018-12-28 11:25:41 閱讀量:1100
在PHP中,"and"和“&&”都是作為邏輯運算符來使用的,執(zhí)行相同的操作,那么它們之間有什么差別?本篇文章給大家簡單介紹一下運算符"and"和“&&”,讓大家了解運算符"and"和“&&”之間的區(qū)別,希望對大家有所幫助。
"and"運算符
在"and"運算符中如果兩個操作數均為true,則返回true;如果有一個為false,則返回false。例:
1 2 3 4 5 6 7 8 9 10 11 |
|
輸出:
說明:
由于變量$ a = 100而另一個變量$ b = 10,條件$ a == 100的計算結果為true,而$ b == 10的計算結果為true。因為and邏輯表明如果兩個操作數均為true,則結果才為true;因此,'$ a == 100和$ b == 10'的計算結果為true。
但是當輸入$ b = 20時,條件$ b == 10就會為false,因此AND運算結果將為false。
"&&”運算符
在"&&”運算符中,同樣如果兩個操作數均為true,則返回true;如果有一個為false,則返回false。例:
1 2 3 4 5 6 7 8 9 10 11 |
|
輸出:
說明:
由于變量$ a = 100而另一個變量$ b = 10,條件$ a == 100的計算結果為true,而pow($ b,2)== $ a的計算結果也為true,因為$ b = 10被提升到2的冪是100,等于$ a。
and邏輯表明只有當兩個操作數都為true時,and運算結果才為true。因此表達式'$ a == 100 && pow($ b,2)== $ a'的計算結果為true。
但是當$ b = 20時,條件pow($ b,2)== $ a的結果為false,這樣and運算的結果就會變?yōu)閒alse。
運算符"and"和“&&”的簡單比較
運算符"and"和“&&”之間是存在一些差異:“&&”運算符的優(yōu)先級高,而"and"運算符的優(yōu)先級低。
說明:優(yōu)先級基本上決定了在表達式中首先執(zhí)行哪些操作。
下面我們通過簡單的代碼示例來看看運算符"and"和“&&”的差異。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
輸出:
我們還發(fā)現,兩個運算符的操作數相同時,但它們的運算結果卻是不一樣的,這是為什么?
因為,"&&"運算符的優(yōu)先級高于"="運算符的優(yōu)先級;而“and”的優(yōu)先級低于運算符“=”。
在第一個表達式“$bool = true && false”中,首先計算true && false,計算結果為false,然后把這個結果賦值給了$bool ;因此,$bool 的值為:false。
在第二個表達式“$bool = true and false”中,首先是執(zhí)行“$bool = true”,此時$bool的值為true;然后執(zhí)行“$bool and false”。因為“and ”操作雖然在內部執(zhí)行了但未分配,因此$ bool的值依然為true。
總結:PHP運算符"and"和“&&”的根本區(qū)別在于它們的優(yōu)先級差異;以上就是本篇文章的全部內容,希望能對大家的學習有所幫助。