PHP學習——13 運算子與表示式
阿新 • • 發佈:2018-12-14
定義:運算子是可以通過給出的一或多個值(用程式設計行話來說,表示式)來產生另一個值(因而整個結構成為一個表示式)的東西。
一、運算子分類
分類方式 | 運算子 | 詳細 | 備註 |
---|---|---|---|
按運算元數量 | 一元運算子 | ! 、++、-- | 自增和自減不能用於字面量,只能用於變數 |
二元運算子 | 20±30、20*30、20/30 | ||
三元運算子 | ture?"真":"假" | ||
按運算子用途 | 算術運算子 | 加、減、乘、除、取模等 | echo 12+3; // 15 |
字串運算子 | 點 | 可用於連線字串和變數 | |
賦值運算子 | 等號以及算術運算子的組合,=,+=,-=,*=,/=,%=... |
$num ±= 10 等價與 $num = $num ± 10 $num *= 10 等價與 $num = $num * 10 $num /= 10 等價與 $num = $num / 10 $num %= 10 等價與 $num = $num % 10 |
|
比較運算子(關係運算符) |
比大小,結果為布林值,>,<,= | ||
邏輯運算子 | 判斷對錯,布林值之間對比, &&,||,! |
<?php // 比較運算子 var_dump(15>2); // bool(true) echo '<hr>'; var_dump('php'=='php'); // bool(true) echo '<hr>'; var_dump('100'==100); // bool(true) // 相等號只進行值的比較,不進行型別的比較,switch的比較也是值的比較; // 而全等號不僅進行值的比較而且進行型別比較 echo '<hr>'; var_dump('100'===100); // bool(false) echo '<hr>'; var_dump(30<>100); // bool(true) echo '<hr>'; var_dump('30'<>30); // bool(false),<>進行值比較 echo '<hr>'; var_dump('30'!==30); // bool(true),!==進行值和型別比較 // 邏輯運算子 // 邏輯與、邏輯或、邏輯非 echo '<hr>'; var_dump( (14==13) && (12>1) ); // bool(false) 當 && 兩邊的值都為真時,整體的值為真 echo '<hr>'; var_dump( (14==13) || (12>1) ); // bool(true) 當 || 兩邊的值都為假時,整體的值為假 echo '<hr>'; var_dump( !true ); // bool(false) echo '<hr>';echo '<hr>'; // 請注意: // 當&&的第一個運算元為假時,不進行第二個運算元的判定 // 當||的第一個運算元為真時,不進行第二個運算元的判定 function selfAdd($num){ $num+=10; echo '<hr>'.$num.'<hr>'; return $num; } var_dump( false && selfAdd(1) ); // bool(false) var_dump( true && selfAdd(2) ); // 12 bool(true) // 以上例子當&&第一個運算元為真時,執行了列印操作,說明第一個運算元為假時,不執行函式selfAdd var_dump( false || selfAdd(1) ); // 11 bool(true) var_dump( true || selfAdd(2) ); // bool(true) // 以上例子當||第一個運算元為假時,執行了列印操作,說明第一個運算元為真時,不執行函式selfAdd ?>
二、表示式
定義:凡是可以返回一個具體值的東西都可以叫表示式。