2. การเลือกตามเงื่อนไข (Decision)
- นำเสนอ 2 คำสั่ง
คือ if และ switch
|
ex.201
zz201.php |
ทดสอบเงื่อนไข
<?
$a = "pass";
if ($a == "pass") {
echo
"ok";
}
?>
|
ตัวอย่างผลลัพธ์ หรืออธิบาย
ok
# กำหนดค่าให้กับตัวแปร แล้วนำไปเปรียบเทียบ
# การทดสอบให้ใช้เครื่องหมาย ==
|
ex.202
zz202.php |
ทดสอบเงื่อนไข 3 แบบ
<?
$b = 10;
if ($b > 2) {
echo "ok
1<br>";
}
if ($b < 100) { echo "ok 2<br>"; }
if ($b <> 5) echo "ok 3<br>";
?>
|
ตัวอย่างผลลัพธ์ หรืออธิบาย
ok 1
ok 2
ok 3
# ทดสอบเงื่อนไข 3 ครั้ง
แต่ละครั้งมีผลการทำงานบรรทัดเดียว
# ทั้ง 3 แบบให้ผลลัพธ์คล้ายกัน และเป็นจริงทุกเงื่อนไข
# > หมายถึง มากกว่า
# < หมายถึง น้อยกว่า
# <> หมายถึง ไม่เท่ากับ
|
ex.203
zz203.php |
ทดสอบเงื่อนไข และใช้ else แบบที่
1
<?
$a = "neo";
if ($a == "neo") {
echo
"pass";
} else {
echo
"fail";
}
?>
|
ตัวอย่างผลลัพธ์ หรืออธิบาย
pass
# ถ้าตัวแปร a ไม่ใช่
neo ผลที่ได้จะเป็น fail
|
ex.204
zz204.php |
ทดสอบเงื่อนไข และใช้ else แบบที่
2
<?
$a = "wow";
if ($a == "neo")
echo
"pass";
else
echo
"fail";
?>
|
ตัวอย่างผลลัพธ์ หรืออธิบาย
fail
# ไม่ใช้ { } ก็ได้
ถ้าในเงื่อนไขมีคำสั่งเดียว
|
ex.205
zz205.php |
ทดสอบหลายเงื่อนไข แบบไม่ใช้ else
<?
$a = "th";
if ($a == "us") echo "United State";
if ($a == "th") echo "Thailand";
if ($a == "jp") echo "Japan";
if ($a != "us" && $a != "th"
&& $a !=
"jp")
echo
"Korea";
?>
|
ตัวอย่างผลลัพธ์ หรืออธิบาย
Thailand
# ถ้าไม่เข้า 3 เงื่อนไขแรก
จึงจะพิมพ์คำว่า Korea
# != หมายถึง ไม่เท่ากับ
# && หมายถึง และ
# || หมายถึง หรือ
|
ex.206
zz206.php |
ทดสอบหลายเงื่อนไข แบบใช้ if หลัง
else
<?
$a = "th";
if($a == "us"){echo "United State";}
else if ($a == "th") echo "Thailand";
else if ($a ==
"jp") echo "Japan";
else if ($a !=
"us" && $a != "th"
&&
$a != "jp")
echo
"Korea";
?>
|
ตัวอย่างผลลัพธ์ หรืออธิบาย
Thailand : ok
# if แบบหลายชั้น ที่ซับซ้อน
|
ex.207
zz207.php |
ทดสอบหลายเงื่อนไข แบบใช้ elseif
<?
$a = "th";
if ($a == "us") {
echo "United
State";
} elseif ($a == "th") {
echo
"Thailand";
} elseif ($a == "jp") {
echo
"Japan";
} else { echo "Korea"; }
?>
|
ตัวอย่างผลลัพธ์ หรืออธิบาย
Thailand
# เมื่อเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริง
จะไม่ตรวจเงื่อนไขต่อไป
# ถ้าไม่เข้า 3 เงื่อนไขแรก
ก็จะแสดงคำว่า Korea
|
ex.208
zz208.php |
เลือกเงื่อนไขด้วย switch และ
case
<?
$a = "th";
switch($a) {
case
"us";
echo
"United State : ok";
break;
case
"th";
echo
"Thailand : ok";
break;
}
?>
|
ตัวอย่างผลลัพธ์ หรืออธิบาย
Thailand : ok
# แต่ละกรณีต้องปิดด้วย break;
|
ex.209
zz209.php |
เลือกเงื่อนไขด้วย switch และ
default
<?
$a = "cc";
switch($a) {
case
"aa";
echo "aa :
ok";
break;
case
"bb";
echo "bb :
ok";
break;
default;
echo "default
: ok";
}
?>
|
ตัวอย่างผลลัพธ์ หรืออธิบาย
default : ok
# default ถูกใช้สำหรับกรณี ไม่เข้าเงื่อนไขใดเลย
|