➤3.3 運算子&運算式(+ - × ÷)
*運算子 = 加、減、乘、除這些符號皆屬於運算子
*運算元 = $k、$t則是運算元
*運算式 = 透過運算子和運算元所運行而組成
(1)算術運算子
*運算元 = $k、$t則是運算元
*運算式 = 透過運算子和運算元所運行而組成
(1)算術運算子
名稱
|
符號
|
實例
|
運算結果
|
加
|
+
|
5 + 1
|
6
|
減
|
-
|
4 - 2
|
2
|
乘
|
*
|
3 * 6
|
18
|
除
|
/
|
20 / 5
|
4
|
餘數
|
%
|
16 % 5
|
1
|
連結
|
.
|
"安安" . "你好"
|
安安你好
|
<?php
/*算術運算子*/
$k = 25;
$t = 10;
echo $k + $t . "<br />";
echo $k - $t . "<br />";
echo $k * $t . "<br />";
echo $k / $t . "<br />";
echo $k % $t . "<br />";
print_r($k . $t); //也可用print_r()函式來做檢測
?>
算術運算子執行結果如下圖示:
(2)賦值運算子
對比算術運算子是原有的值帶上另一個值再儲存回到原先的變數$k = $k * 2;
賦值運算子則是將其簡化為 $k *= 2;。
所以假設這個 $k變數一開始的值是4,並且透過賦值運算子來執行
$k *= 2;,此時該$k變數的值即為8,繼續往下執行時就會以8來往下帶,並以累進的方式執行下去,疑.....聽起來有點饒舌?往下看看就了解囉!
對比算術運算子是原有的值帶上另一個值再儲存回到原先的變數$k = $k * 2;
賦值運算子則是將其簡化為 $k *= 2;。
所以假設這個 $k變數一開始的值是4,並且透過賦值運算子來執行
$k *= 2;,此時該$k變數的值即為8,繼續往下執行時就會以8來往下帶,並以累進的方式執行下去,疑.....聽起來有點饒舌?往下看看就了解囉!
名稱
|
符號
|
實例
|
運算結果
|
加
|
+=
|
$k += $t
|
$k = $k + $t
|
減
|
-=
|
$k -= $t
|
$k = $k - $t
|
乘
|
*=
|
$k *= $t
|
$k = $k * $t
|
除
|
/=
|
$k /= $t
|
$k = $k / $t
|
餘數
|
%=
|
$k %= $t
|
$k = $k % $t
|
連結
|
.=
|
$k .= $t
|
$k = $k . $t
|
<?php
/*賦值運算子*/
$k = 15;
$t = 6;
$s = 2;
$k *= $s;
echo $k . "<br/>"; //輸出的值為30
$k += $t;
echo $k . "<br/>"; //輸出的值為36,原因在於上一行的$K的值已是30,所以會累加上去(即30+6)
$k += $k;
echo $k; //輸出的值為72,原因在於上一行前後2個$K的值都是36,所以會累加上去(即36+36)
?>
賦值運算子執行結果如下圖示:
(3)遞增/遞減運算子
名稱
|
符號
|
實例
|
說明
|
遞增
|
++
|
$k = 15;
$k++;
echo $k;
|
變數值加1
|
遞減
|
--
|
$k = 15;
$k--;
echo $k;
|
變數值減1
|
前置遞增
|
++$k
|
$k = 15;
echo ++$k;
|
$k先加1,再存回$k值
|
前置遞減
|
--$k
|
$k = 15;
echo --$k;
|
$k先減1,再存回$k值
|
後置遞增
|
$k++
|
$k = 15;
echo $k++;
|
先存回$k值,再加1
|
後置遞減
|
$k--
|
$k = 15;
echo $k--;
|
先存回$k值,再減1
|
<?php
/*遞增 運算子*/
$k = 15; $k++;
echo '$k = ' . $k . "<br />"; //遞增,輸出$k = 16
$t = 6;
echo $t++ . "<br />"; //後置遞增,輸出6
echo $t++ . "<br />"; //後置遞增,輸出7
echo $t++ . "<br />"; //後置遞增,輸出8
$s = 2;
echo ++$s . "<hr>"; //前置遞增,輸出3
/*遞減 運算子*/
$k = 15; $k--;
echo '$k = ' . $k . "<br />"; //遞增,輸出$k = 14
$t = 6;
echo $t-- . "<br />"; //後置遞減,輸出6
echo $t . "<br />"; //輸出5
$s = 2;
echo --$s . "<br />"; //前置遞減,輸出1
?>
遞增/遞減運算執行結果如下圖示:
(4)比較運算子
說明
|
符號
|
實例
|
說明
|
相等
|
==
|
$k = $t
|
兩者相等
|
全等
|
===
|
$k === $t
|
兩者相等型別也相同
|
不等於
|
<>
|
$k <> $t;
|
兩者不相等
|
不等於
|
!=
|
$k != $t;
|
兩者不相等
|
不全等
|
!==
|
$k !== $t;
|
兩者不相等或型別不相同
|
>大於,<小於,<=小於等於,>=大於等於就不贅述。
<?php
/*比較 運算子*/
$k=10; //數值
$t="10"; //字串
var_dump($k == $t); // 回傳 true 因為型別會自動轉換
echo "<br>";
var_dump($k === $t); // 回傳false 因為型別不相等
echo "<br>";
var_dump($k != $t); // 回傳 false 因為型別會自動轉換,所以$k"並非"不等於$t
echo "<br>";
var_dump($k !== $t); // 回傳 true 因為型別不相等,所以$k"是"不等於$t
echo "<hr>";
$a=30;
$b=40;
var_dump($a <> $b); // 回傳 true
echo "<br>";
var_dump($a < $b); // 回傳 true
?>
比較運算執行結果如下圖示:
(5)條件運算子
條件運算式 ? true時回傳的值 : false時回傳的值 ;
<?php
/*條件 運算子*/
$k = '我有一支筆';
$name = isset($k) ? $k : '沒有東西';
//isset是檢查該變數是否存在的函式
//檢查$k是否存在,若存在就秀出變數值,反之則秀出'沒有東西'
echo $name . "<br />";
/*三元條件 運算子*/
$x = 20; $y = 15;
$z = $x ?: $y; //簡寫的方式,當$x有值就會回傳$x存入$z秀出,反之則秀出$y的值
echo $z;
?>
沒有留言:
張貼留言