บทที่ 6 การควบคุมโปรแกรม
การตัดสินใจเลือกทำ (Decision) if , else และ elseif switch ?: (หรือ conditional operator)
if if (expr) statement หรือ if (expr) { statement1 statement2 } $b = 0; if ($b > $a) echo "บรรทัด 1: \$a มีค่ามากกว่า \$b<br>"; if ($a) echo "บรรทัด 2: $a<br>"; if ($b) echo "บรรทัด 3: $b<br>"; if (expr) statement หรือ if (expr) { statement1 statement2 } บรรทัดที่ 3 ไม่ออก
else if (expr) statement1 else statement2 $username = "promlert"; if ($username == "Admin") echo "ยินดีต้อนรับสู่ admin page"; else echo "ยินดีต้อนรับสู่ user page"; if (expr) statement1 else statement2
elseif $a = 10; $b = 20; if ($a > $b) echo "\$a มีค่ามากกว่า \$b"; if (expr1) statement1 elseif (expr2) statement2 elseif (expr3) statement3 else statement ใช้ && หรือ || มาช่วยก็ได้
switch } $i = 1; switch ($i) { case 0: echo "\$i เท่ากับ 0"; break; switch (expr) { case value1 : statement1 break(); case value2 : statement2 default: statement } default: ไม่มีก็ได้ break() ต้องมี ถ้าไม่มีจะเข้าไปทำคำสั่งล่างต่อ
expr1 ? expr2 : expr3 ?: $a = 15; $b = 33; $diff = ($a > $b) ? ($a - $b) : ($b - $a); echo "\$a = $a, \$b = $b<br>"; echo "ดังนั้น \$a กับ \$b มีค่าต่างกันอยู่ $diff";
การทำซ้ำ (Repetition) while do...while for foreach (บทที่ 8)
while while (expr){ statement } echo "โปรแกรมจะนับ 1 ถึง 5<br>"; $num = 1; while ($num <= 5) { echo "$num<br>"; $num++; } echo "จบ"; while (expr){ statement }
do...while do{ statement }while (expr) $i = 5; do { $square = $i * $i; echo "$i ยกกำลัง 2 เท่ากับ $square<br>"; $i += 5; } while ($i <= 40); do{ statement }while (expr) 5 ยกกำลัง 2 เท่า 25 10 ยกกำลัง 2 เท่ากับ 100 15 ยกกำลัง 2 เท่ากับ 225 … 40 ยกกำลัง 2 เท่ากับ 1600
for (expr1 : expr2 : expr3){ statement } echo "โปรแกรมจะนับ 1 ถึง 5<br>"; echo "เริ่ม<br>"; for ($num = 1; $num <= 5; $num++) { echo "$num<br>"; } echo "จบ";
งาน 1. lab06_1.php เขียนโปรแกรมแสดงเงื่อนไขสภาพนักศึกษา โดยกำหนดค่าเกรดเฉลี่ยลงในตัวแปรเลย (if..else) เช่น เกรดเฉลี่ย น้อยกว่า 1.75 พ้นสภาพ เกรดเฉลี่ย น้อยกว่า 1.86 รอพินิจแบบมีเงื่อนไข เกรดเฉลี่ย น้อยกว่า 2.00 รอพินิจ เกรดเฉลี่ยตั้งแต่ 2.00 ปกติ
งาน 2. lab06_2.php เขียนโปรแกรมแสดงเลขคี่ จาก 0 ถึง 100 (for) พนักงานเงินเดือน < 5000 ปรับขึ้น 3% ของเงินเดือน พนักงานเงินเดือน ≥ 5000 และ < 10000 ปรับขึ้น 5 % ของเงินเดือน พนักงานเงินเดือน ≥ 10000 และ < 15000 ปรับขึ้น 7 % ของเงินเดือน พนักงานเงินเดือน ≥ 15000 ปรับขึ้น 10% ของเงินเดือน โดยกำหนดข้อมูลเงินเดือนในตัวแปร