โครงสร้างการควบคุม PHP: ถ้าเป็นอย่างอื่น ให้สลับเคส
⚡ สรุปอย่างชาญฉลาด
โครงสร้างควบคุมและลูปกำหนดเส้นทางการทำงานของโปรแกรม PHP และทำซ้ำบล็อกโค้ดอย่างมีประสิทธิภาพ บทแนะนำนี้จะอธิบายโครงสร้างการตัดสินใจ if-else และ switch จากนั้นจะกล่าวถึงลูป for, while, do-while และ foreach ซึ่งเป็นสิ่งที่ผู้เข้าแข่งขันคาดหวังในหัวข้อนี้

โครงสร้างการควบคุมคืออะไร?
Code การดำเนินการสามารถแบ่งออกเป็นหมวดหมู่ได้ดังแสดงด้านล่าง
- เนื่อง – ขั้นตอนนี้เกี่ยวข้องกับการเรียกใช้โค้ดทั้งหมดตามลำดับที่เขียนไว้
- การตัดสิน – อันนี้เกี่ยวข้องกับการเลือกตัวเลือกโดยมีตัวเลือกมากมาย รหัสที่ดำเนินการขึ้นอยู่กับค่าของเงื่อนไข
โครงสร้างการควบคุมคือกลุ่มของโค้ดที่ตัดสินใจเส้นทางการทำงานของโปรแกรมโดยขึ้นอยู่กับค่าของเงื่อนไขที่ตั้งไว้
ต่อไปนี้เราจะมาดูโครงสร้างการควบคุมบางส่วนกัน PHP สนับสนุน
PHP ถ้าเป็นอย่างอื่น
ถ้า…แล้ว…อย่างอื่นคือ โครงสร้างการควบคุมที่ง่ายที่สุดโดยจะประเมินเงื่อนไขโดยใช้ตรรกะบูลีน
เมื่อใดควรใช้ if… then… else
- คุณมีบล็อกโค้ดที่ควรดำเนินการเฉพาะในกรณีที่เงื่อนไขบางอย่างเป็นจริง
- คุณมีสองตัวเลือก และคุณต้องเลือกหนึ่งตัวเลือก
- ถ้า... แล้ว... อื่นถ้า... ถูกใช้เมื่อคุณต้องเลือกมากกว่าสองตัวเลือก และคุณต้องเลือกหนึ่งรายการขึ้นไป
ไวยากรณ์ รูปแบบไวยากรณ์ของคำสั่ง if… then… else คือ:
<?php if (condition is true) { block one } else { block two } ?>
ที่นี่
- "ถ้า (เงื่อนไขเป็นจริง)“คือโครงสร้างควบคุม”
- "บล็อกหนึ่ง” คือโค้ดที่จะดำเนินการหากเงื่อนไขเป็นจริง
- อื่น เป็นทางเลือกหากเงื่อนไขเป็นเท็จ
- "บล็อกที่สอง” คือบล็อกของโค้ดที่ถูกดำเนินการหากเงื่อนไขเป็นเท็จ
มันทำงานอย่างไร. แผนผังการไหลที่แสดงด้านล่างนี้แสดงให้เห็นว่าโครงสร้างควบคุม if… then… else ทำงานอย่างไร
ลองมาดูวิธีการทำงานจริงกันครับ โค้ดด้านล่างนี้ใช้ “if… then… else” เพื่อกำหนดค่าที่มากกว่าระหว่างตัวเลขสองตัว
<?php $first_number = 7; $second_number = 21; if ($first_number > $second_number){ echo "$first_number is greater than $second_number"; }else{ echo "$second_number is greater than $first_number"; } ?>
Output:
21 is greater than 7
กรณีสวิตช์ PHP
สวิตช์… เคส คล้ายกับ ถ้า… แล้ว… มิฉะนั้น โครงสร้างการควบคุม
มันเท่านั้น ดำเนินการ โค้ดบล็อกเดียวขึ้นอยู่กับ ความคุ้มค่า ของสภาพ
หากไม่มีเงื่อนไขใด ๆ เป็นไปตามที่กำหนด ระบบจะเรียกใช้บล็อกโค้ดเริ่มต้น
มีโครงสร้างพื้นฐานดังต่อไปนี้
<?php switch(condition){ case value: // block of code to be executed break; case value2: // block of code to be executed break; default: // default block code break; } ?>
ที่นี่
- "สวิตช์(…){…}" คือรหัสบล็อกโครงสร้างควบคุม
- “มูลค่ากรณี: กรณี…” คือกลุ่มของโค้ดที่จะดำเนินการขึ้นอยู่กับค่าของเงื่อนไข
- "ค่าเริ่มต้น:" คือบล็อกโค้ดที่จะถูกเรียกใช้เมื่อไม่มีค่าใดตรงกับเงื่อนไข
วิธีการทำงาน
แผนผังการไหลที่แสดงด้านล่างนี้แสดงให้เห็นถึงวิธีการทำงานของโครงสร้างการควบคุมสวิตช์
ตัวอย่างการปฏิบัติ
รหัสด้านล่างใช้โครงสร้างการควบคุมสวิตช์เพื่อแสดงข้อความขึ้นอยู่กับวันในสัปดาห์
<?php $today = "wednesday"; switch($today){ case "sunday": echo "pray for us sinners."; break; case "wednesday": echo "ladies night, take her out for dinner"; break; case "saturday": echo "take care as you go out tonight."; break; default: echo "have a nice day at work"; break; } ?>
Output:
ladies night, take her out for dinner
ลูป PHP
ลูปเป็นโครงสร้างควบคุมที่ทำซ้ำบล็อกโค้ดตราบใดที่เงื่อนไขยังคงเป็นจริง ช่วยให้คุณไม่ต้องเขียนคำสั่งเดียวกันซ้ำหลายครั้ง PHP รองรับลูปสี่ประเภท ได้แก่ for, while, do-while และ foreach สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ส่วนเฉพาะเรื่อง บทช่วยสอนการวนลูป PHP.
PHP สำหรับลูป
ลูป for ใช้เมื่อคุณทราบล่วงหน้าว่าโค้ดควรทำงานกี่ครั้ง โดยจะรวมตัวนับ เงื่อนไข และการเพิ่มค่าไว้ในบรรทัดเดียว
<?php for ($i = 0; $i < 5; $i++) { echo $i; } ?>
Output:
01234
ลูป while ใน PHP
ลูป while จะทำซ้ำบล็อกโค้ดตราบเท่าที่เงื่อนไขยังเป็นจริง เงื่อนไขจะถูกตรวจสอบก่อนการวนซ้ำแต่ละครั้ง ดังนั้นส่วนของโค้ดอาจทำงานศูนย์ครั้งก็ได้
<?php $i = 0; while ($i < 5) { echo $i; $i++; } ?>
Output:
01234
ลูป do-while ใน PHP
ลูป do-while คล้ายกับลูป while แต่จะตรวจสอบเงื่อนไขหลังจากส่วนของโค้ดหลัก ซึ่งรับประกันได้ว่าบล็อกโค้ดจะทำงานอย่างน้อยหนึ่งครั้ง
<?php $i = 0; do { echo $i; $i++; } while ($i < 5); ?>
Output:
01234
ลูป foreach ใน PHP
ลูป foreach ออกแบบมาสำหรับอาร์เรย์ มันจะวนไปทีละองค์ประกอบโดยที่คุณไม่ต้องจัดการตัวนับดัชนี
<?php $colors = array("red", "green", "blue"); foreach ($colors as $color) { echo $color . " "; } ?>
Output:
red green blue


