iT邦幫忙

2021 iThome 鐵人賽

DAY 12
0
Software Development

PHP 語法通關系列 第 12

Day12 PHP運算符(子)

  • 算術運算符:
    也就是+(加)-(減)*(乘)/(除) %(餘數) 這類的運算符號。
    其實與一般的數學沒甚麼兩樣
$a=15; 
$b=5;
數學運算符 範例 範例結果
+(加) $a + $b 15+5的結果:20
-(減) $a - $b 15-5的結果:10
*(乘) $a * $b 15*5的結果:75
/(除) $a / $b 15/5的結果:3
%(求餘數) $a % $b 15%5的結果:0
  • 賦值運算符:如$a=15,其中的=就是賦值運算符
$a = $a + 5;
可改寫成
$a += 5;

同時有*= /= += -=的形式,還有特別的字串形式的.=

  • 比較運算符:例如if(8>1),這類<、>、 <=、>=、==、!=的比較運算
比較運算符 意義 說明
$a == $b ==相等 $a和$b的值相等時,才為真
$a === $b ===全等 $a和$b的值以及資料形態都相等時才為真!
$a != $b $a != $b $a和$b的值不相等時,才為真
$a <> $b !=不相等 $a和$b的值不相等時,才為真
$a !== $b !==不全等 $a和$b的值或資料形態不相等時才為真!
$a < $b <小於 $a小於$b才為真
$a > $b >大於 $a大於$b才為真
$a <= $b <=小於等於 $a小於或等於$b才為真
$a >= $b >=大於等於 $a大於或等於$b才為真
$a <=> $b <=> 比較 只會傳回 -1、0、1三種值

-1,代表左邊小於右邊;
1,代表左邊大於右邊;
0,那就代表左右兩邊相等。

<?php

/*比較 運算子簡單例子*/
$k = 100; //數值
$i = '100'; //字串
var_dump($k == $i); // 回傳 irue 因為型別會自動轉換
echo '<br>';
var_dump($k === $i); // 回傳false 因為型別不相等
echo '<br>';
var_dump($k != $i); // 回傳 false 因為型別會自動轉換,所以$k"並非"不等於$i
echo '<br>';
var_dump($k !== $i); // 回傳 true 因為型別不相等,所以$k"是"不等於$i
echo '<hr>';

$a = 70;
$b = 80;
var_dump($a != $b); // 回傳 true
echo '<br>';
var_dump($a < $b); // 回傳 true

  • 錯誤控制運算符:指的是@這個符號,可以抑制錯誤訊息產生。

  • 遞增、遞減運算符:如++$a這類的用法

運算符 意義 說明
++$a 先遞增 $a值加1之後才傳回$a值
$a++ 先傳回 $a值之後再將$a值加1
--$a 先遞減 $a值減1之後才傳回$a值
$a-- 後遞減 先傳回$a值之後再將$a值減1
<?php

/*遞增 運算子*/
$i = 6;
echo $i++.'<br />'; //後置遞增,輸出6
echo $i.'<br />';//輸出後+1,所以現在輸出7

$s = 2;
echo ++$s.'<hr>'; //前置遞增,輸出前2先+1再輸出,所以是3

/*遞減 運算子*/
$j = 6;
echo $j--.'<br />'; //後置遞減,輸出6,後-1
echo $j.'<br />'; //所以最後輸出5

$s = 2;
echo --$s.'<br />'; //前置遞減,輸出前2先-1再輸出,所以是輸出1

  • 邏輯運算符:也就是and、or、not這類的用法
邏輯運算符 意義 說明
$a && $b and(與) 只有$a 與 $b兩者皆為真,結果才為真
$a || $b or(或) 只要$a 或 $b兩者之一為真,結果就為真
$a xor $b exclusive or(互斥) 只有$a 與 $b一為真、一為假時,結果才為真
!$a not(否) 只有$a為假時,結果才為真
  • 字串運算符:小黑點「.」,用來連接字串和變數、常數或函數用的!
echo "今天天氣真好~" . $user_name . "早安!";
echo "資料庫名稱:" . $DB_NAME;

Day12 Winnie的聊天室

今天介紹PHP運算符(子),不繼續往下介紹對象的原因是因為,在介紹對象之前有更多東西要介紹,例如函數、流程控制、迴圈等等,接著再介紹對象我覺得比較適合,因此接下來就往這個方向繼續寫下去囉~


上一篇
Day11 PHP數據類型--複合類型之陣列
下一篇
Day13 流程控制之條件判斷
系列文
PHP 語法通關30

尚未有邦友留言

立即登入留言