首頁  >  文章  >  後端開發  >  PHP運算子"and"和「&&」的簡單比較

PHP運算子"and"和「&&」的簡單比較

青灯夜游
青灯夜游原創
2018-12-27 14:41:025033瀏覽

在PHP中,"and"和「&&」都是作為邏輯運算子來使用的,執行相同的操作,那麼它們之間有什麼差別?這篇文章給大家簡單介紹一下運算符"and"和“&&”,讓大家了解運算符"and"和“&&”之間的區別,希望對大家有所幫助。

PHP運算子

"and"運算子

在"and"運算子中如果兩個操作數均為true,則傳回true;如果有一個為false,則傳回false。例:

輸出:

PHP運算子and和「&&」的簡單比較

說明:

由於變數$ 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。例:

輸出:

PHP運算子and和「&&」的簡單比較

說明:

由於變數$ 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運算的結果就會變成false。

運算子"and"和「&&」的簡單比較

運算子"and"和「&&」之間是存在一些差異:「&&」運算子的優先權高,而"and"運算子的優先權低。

說明:優先權基本上決定了在表達式中首先執行哪些操作。

下面我們透過簡單的程式碼範例來看看運算子"and"和「&&」的差異。


"; // 在表达式中使用and运算符 $bool = true and false; // 显示and运算符的运算结果 echo "and运算符的结果为:"; echo ($bool ? 'true' : 'false'); ?>

輸出:

PHP運算子and和「&&」的簡單比較

我們也發現,當兩個運算子的運算元相同時,但它們的運算結果卻是不一樣的,這是為什麼?

因為,"&&"運算子的優先權高於"="運算子的優先權;而「and」的優先權會低於運算子「=」。

在第一個表達式「$bool = true && false」中,先計算true && false,計算結果為false,然後把這個結果賦值給了$bool ;因此,$bool 的值為:false。

在第二個表達式“$bool = true and false”中,首先是執行“$bool = true”,此時$bool的值為true;然後執行“$bool  and false”。因為「and 」操作雖然在內部執行了但未分配,因此$ bool的值依然為true。

總結:PHP運算子"and"和「&&」的根本差異在於它們的優先順序差異;以上就是本篇文章的全部內容,希望能對大家的學習有所幫助。

以上是PHP運算子"and"和「&&」的簡單比較的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn