Agenda • • • •
Operator & Operand Arithmetic Operators String Operator Pre-Incremental,Post-Incremental, Pre-Decremental,Post-Decremental Operators • Comparison Operators • Logical Operators
CHAPTER 2 Operators
อ.เมทินี เขียวกันยะ
PHP
Operator & Operand
2
Arithmetic Operators เครื่องหมายคํานวณทางคณิตศาสตร
Operator คือเครื่องหมายที่ใชสําหรับการคํานวณ หรือเปรียบเทียบ หรืออื่นๆ
กําหนดให $a=10 และ $b=3 เครื่องหมาย
Operand คือ คาที่ใชสําหรับคํานวณหรือเปรียบเทียบ หรืออื่นๆ โดย Operand อาจเปนตัวเลข ตัวอักษร คาคงที่ หรือ ตัวแปร ตัวอยาง
ภาควิชาวิทยาการคอมพิวเตอร คณะวิทยาศาสตร มหาวิทยาลัยเชียงใหม
X+Y*2
ชื่อ
ความหมาย
ตัวอยาง
ผลลัพธ ($c)
+
Addition
บวก
$c=$a+$b
13
ลบ
-
Subtraction
$c=$a-$b
7
*
Multiplication คูณ
$c=$a*$b
30
/
Division
หาร
$c=$a/$b
3.33333333333
%
Modulus
หารเก็บเศษ
$c=$a%$b
1
Operator ไดแก + และ * Operand ไดแก X Y และ 2 เครื่องหมายบวกและลบ ที่เปน Unary Operator เชน $e=-5 อ.เมทินี เขียวกันยะ
PHP
ภาควิชาวิทยาการคอมพิวเตอร คณะวิทยาศาสตร มหาวิทยาลัยเชียงใหม
PHP
3
String Operator
var_name = value
$a=‘Chiang Mai ’; $b=‘University’; $c=$a.$c; echo “Hello”.$a;
อ.เมทินี เขียวกันยะ
ภาควิชาวิทยาการคอมพิวเตอร คณะวิทยาศาสตร มหาวิทยาลัยเชียงใหม
4
เครื่องหมายเทากับ(=) สําหรับกําหนดคาใหตัวแปร นําคาดานขวามาเก็บไวที่ตัวแปรดานซาย
string_left . string_right
PHP
ภาควิชาวิทยาการคอมพิวเตอร คณะวิทยาศาสตร มหาวิทยาลัยเชียงใหม
Assignment Operators
เครื่องหมายจุด (.) ใชสําหรับตอขอความที่อยูดานซายและขวา ของจุด
เชน
อ.เมทินี เขียวกันยะ
เชน
PHP
5
1
$a=10; $b=$a+3;
อ.เมทินี เขียวกันยะ
ภาควิชาวิทยาการคอมพิวเตอร คณะวิทยาศาสตร มหาวิทยาลัยเชียงใหม
6
Pre-Incremental,Post-Incremental, Pre-Decremental,Post-Decremental Operators
Combination Assignment Operators กําหนดให $a=10
PHP
เครื่องหมาย
ตัวอยาง
+=
$a+=4
$a = $a+4
14
-=
$a-=4
$a = $a-4
6
*=
$a*=4
$a = $a*4
40
/=
$a/=4
$a = $a/4
2.5
%=
$a%=4
$a = $a%4
.=
$a.=4
$a = $a.4
อ.เมทินี เขียวกันยะ
ความหมายเทากับ
กําหนดให $a=10
ผลลัพธ ($a)
เครื่องหมาย
ชื่อ
ตัวอยาง
ผลลัพธ ($a)
ความหมาย
++
Pre-Incremental
++$a
$a = $a+1
11
++
PostIncremental
$a++
$a = $a+1
11
2
--
Pre-Decremental
- -$a
$a = $a-1
9
104
--
PostDecremental
$a- -
$a = $a-1
9
ภาควิชาวิทยาการคอมพิวเตอร คณะวิทยาศาสตร มหาวิทยาลัยเชียงใหม
ตัวอยาง
$b = 5; $a = 10 + ++$b * 2; ผลลัพธที่ไดจะมีผลเทากับคําสั่ง $b = $b + 1; $a = 10 + $b * 2;
$b++ เอาคา $b ไปใชกอน แลวจึงเพิ่มคา $b
จะไดวา $a มีคาเทากับ 10 + 5 * 2 = 20 และ $b มีคาเทากับ 6
อ.เมทินี เขียวกันยะ
ภาควิชาวิทยาการคอมพิวเตอร คณะวิทยาศาสตร มหาวิทยาลัยเชียงใหม
อ.เมทินี เขียวกันยะ
PHP
9
$a=10; $b=10; $c=10; $d=20;
อ.เมทินี เขียวกันยะ
$a=(integer)$a; $b=(integer)$b; $c=(double)$c; $d=(integer)$d;
ภาควิชาวิทยาการคอมพิวเตอร คณะวิทยาศาสตร มหาวิทยาลัยเชียงใหม
++b เพิ่มคา b กอน แลวจึงเอาคา b ไปใช
ภาควิชาวิทยาการคอมพิวเตอร คณะวิทยาศาสตร มหาวิทยาลัยเชียงใหม
10
Comparison Operators
สําหรับเปรียบเทียบคา 2 คาใดๆ แลวสงคืนคาที่เปนจริง(true) หรือเท็จ(false)
PHP
8
จะได $b มีคาเทากับ 6 และ $a มีคาเทากับ 10 + 6 * 2 = 22
Comparison Operators
กําหนดให
ภาควิชาวิทยาการคอมพิวเตอร คณะวิทยาศาสตร มหาวิทยาลัยเชียงใหม
ตัวอยาง
$b = 5; $a = 10 + $b++ * 2; ผลลัพธที่ได จะมีผลเทากับคําสั่ง $a = 10 + $b * 2; $b = $b + 1;
PHP
อ.เมทินี เขียวกันยะ
PHP
7
เครื่องหมาย
ชื่อ
ความหมาย
ตัวอยาง
ผลลัพธ
==
Equal
เทากับ
$a==$b $a==$c $a==$d
True True False
===
Identical
เหมือนกัน
$a===$b $a===$c $a===$d
True False False
!=
Not equal
ไมเทากับ
$a!=$c $a!=$d
False True
<>
Not equal
ไมเทากับ
$a<>$c $a<>$d
False True
PHP
11
2
อ.เมทินี เขียวกันยะ
ภาควิชาวิทยาการคอมพิวเตอร คณะวิทยาศาสตร มหาวิทยาลัยเชียงใหม
12
Comparison Operators
Logical Operators
เครื่องหมาย
ชื่อ
ความหมาย
ตัวอยาง
ผลลัพธ
<
Less than
นอยกวา
$a<$c $a<$d
False True
>
Greater than
มากกวา
$a>$c $a>$d
<=
Less than or equal to
นอยกวาหรือ เทากับ
>=
Greater than or equal to
มากกวาหรือ เทากับ
PHP
อ.เมทินี เขียวกันยะ
กําหนดให
$a=true; $b=false;
เครื่องหมาย
ชื่อ
ความหมาย
ตัวอยาง
ผลลัพธ
False False
!
Not
คืนคา True ถาตัวแปรเปน False คืนคา False ถาตัวแปรเปน True
!$a
False
$a<=$c $a<=$d
True True
&&
And
คืนคา True ถาเปนจริงทั้ง 2 คา กรณีอื่นๆ คืนคา False
$a && $b
False
$a>=$c $a>=$d
True False
and
And
คืนคา True ถาเปน True ทั้ง 2 คา กรณีอื่นๆ คืนคา False
$a and $b
True True
||
Or
คืนคา FalseถาเปนFalseทั้ง 2 คา กรณีอื่นๆ คืนคา True
$a || $b
True
or
Or
คืนคา FalseถาเปนFalseทั้ง 2 คา กรณีอื่นๆ คืนคา True
$a or $b
True
ภาควิชาวิทยาการคอมพิวเตอร คณะวิทยาศาสตร มหาวิทยาลัยเชียงใหม
อ.เมทินี เขียวกันยะ
PHP
13
ภาควิชาวิทยาการคอมพิวเตอร คณะวิทยาศาสตร มหาวิทยาลัยเชียงใหม
14
ตัวอยาง
ลําดับความสําคัญของตัวดําเนินการทาง คณิตศาสตร
3+4/2; จะไดผลลัพธเทากับ 3 + (4 / 2) = 5
การเขียนนิพจนคณิตศาสตรทางคอมพิวเตอรจะ แตกตางกับนิพจนคณิตศาสตรที่เคยเรียนทั่วไป ตรงที่มีลําดับความสําคัญ(Priority) ของตัวดําเนินการ เขามาเกี่ยวของ
3 * 2 + 4 % 2; จะไดผลลัพธเทากับ (3*2) + (4%2) = 6 + 0 = 6 3+2*4%2 จะไดผลลัพธเทากับ 3 + ( (2*4) %2 ) = 3 + (8 %2) = 3 + 0 =3
มาก () Parenthesis +, Unary Plus, Unary Minus *, /, % Multiplication, Division, Modulus +, Addition, Subtraction
นอย PHP
อ.เมทินี เขียวกันยะ
ภาควิชาวิทยาการคอมพิวเตอร คณะวิทยาศาสตร มหาวิทยาลัยเชียงใหม
อ.เมทินี เขียวกันยะ
PHP
15
ตัวอยาง
ภาควิชาวิทยาการคอมพิวเตอร คณะวิทยาศาสตร มหาวิทยาลัยเชียงใหม
16
แบบฝกหัด
ให
• แตหากตองการใหทา ํ ตัวดําเนินการในลําดับตํ่ากอน ใหใช เครื่องหมาย ( ) ครอบคําสั่งที่ตอ งการ
$b=2 $c=100 $d=30
$a = $b * $c - $d $a = $b * ($c - $d)
เชน 3 * (2 + 4 )% 2 จะไดผลลัพธเทากับ 3 * 6 % 2 = 18 % 2 = 0
$a = $d / $b * $c + 15 * $b $a = (($d / $b) * $c) + (15 * $b) $a = $c + 5 % 3 * $b - $d / 2 $a = ($c + 5) % 3 * ($b - $d) / 2
PHP
อ.เมทินี เขียวกันยะ
ภาควิชาวิทยาการคอมพิวเตอร คณะวิทยาศาสตร มหาวิทยาลัยเชียงใหม
PHP
17
3
อ.เมทินี เขียวกันยะ
ภาควิชาวิทยาการคอมพิวเตอร คณะวิทยาศาสตร มหาวิทยาลัยเชียงใหม
18