1. 程式人生 > >PHP學習——13 運算子與表示式

PHP學習——13 運算子與表示式

定義:運算子是可以通過給出的一或多個值(用程式設計行話來說,表示式)來產生另一個值(因而整個結構成為一個表示式)的東西。

一、運算子分類

分類方式 運算子 詳細 備註
按運算元數量 一元運算子 ! 、++、-- 自增和自減不能用於字面量,只能用於變數
二元運算子 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
 ?>

二、表示式

定義:凡是可以返回一個具體值的東西都可以叫表示式。