PHP邏輯運算子和賦值運算子

2021-08-13 18:13:23 字數 904 閱讀 1665

我們都知道邏輯運算子的優先順序比賦值運算子要高,php手冊有明確的說明,但如果邏輯運算子和賦值運算子連用的時候,往往允許存在先進行賦值運算,然後在進行邏輯運算的順序(手冊如下:

note:

儘管 = 比其它大多數的運算子的優先順序低,php 仍舊允許類似如下的表示式:if (!$a = foo()),在此例中 foo() 的返回值被賦給了 $a。

)。上個題,看下:

1.$a  = '';

$b = 'at';

$c = 'yyb';

$res = $c && $pa = $b;

var_dump($res);

var_dump($pa);

結果分別為ture,'at'。這裡其實相當於:$c && ($pa = $b)。賦值運算子進行了優先進行。

2 。  || 有短路運算。&&也有短路運算。 

function a()

function b()

function c()

if (a() && b() || c()) else

輸出 achao;這是&&的短路

3.&& 的優先順序要高於 ||

還是上面的例子,調換一下&&和||

if (a() || b() && c())  else
輸出 abchao;求值順序不變,都是從左至右,運算子優先順序指定了兩個表示式繫結得有多"緊密"。

再看乙個運算子優先順序的例子

$a = 1;

$b = 2;

$c = 5;

$k = $b*$a=$c;

echo $k;

輸出10;賦值運算子和算術運算子結合時,規律和邏輯運算子一致。

賦值運算子 比較運算子 和邏輯運算子

基本賦值運算子就是乙個符號 代表將左邊的資料交給左側的變數。int a 30 符合復合賦值運算子 a 3 相當於 a a 3 b 4 相當於 b b 4 c 5 相當於 c c 5 d 6 相當於 d d 6 7 7 相當於 e 7 7 int a 10 a 5 system.out.println...

php位運算子與邏輯運算 php 邏輯運算子 和

在php中,邏輯運算子無非是將值進行邏輯運算。還有其它用法嗎?先看看以下的 吧。提前給出結論就是 or 這兩種運算子在程式中可以加快php 的執行速度。test 李四 test 張三 test 張三來了 echo test 輸出 李四 test 李四 test 張三 test 張三不在這裡 echo...

PHP 邏輯運算子

邏輯運算子 例子名稱 結果 a and b and 邏輯與 true,如果 a 與 b 都為true。a or b or 邏輯或 true,如果 a 或 b 任一為true。a xor b xor 邏輯異或 true,如果 a 或 b 任一為true,但不同時是。a not 邏輯非 true,如果 ...