วันเสาร์ที่ 6 ธันวาคม พ.ศ. 2557

การเลือกตามเงื่อนไข (Decision)

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 ถูกใช้สำหรับกรณี ไม่เข้าเงื่อนไขใดเลย