โครงสร้างการควบคุม PHP: ถ้าเป็นอย่างอื่น ให้สลับเคส

⚡ สรุปอย่างชาญฉลาด

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

  • 🔀 การควบคุมการไหล: โครงสร้างควบคุมจะเลือกโค้ดที่จะทำงานตามเงื่อนไข เปลี่ยนลำดับการทำงานแบบตรงไปตรงมาให้กลายเป็นตรรกะที่ขับเคลื่อนด้วยการตัดสินใจ
  • 🔤 ถ้า-มิฉะนั้น: โครงสร้าง if-else จะทำงานบล็อกหนึ่งเมื่อเงื่อนไขเป็นจริง และจะทำงานบล็อกสำรองเมื่อเงื่อนไขเป็นเท็จ
  • 🧮 สวิตช์เคส: คำสั่ง switch จะเปรียบเทียบค่าหนึ่งค่ากับป้ายกำกับกรณีหลายรายการ และจะเรียกใช้บล็อกที่ตรงกัน หรือเรียกใช้ค่าเริ่มต้นหากไม่มีรายการใดตรงกัน
  • 🔁 ภาพรวมของลูป: ลูปจะทำซ้ำบล็อกของโค้ด ช่วยให้คุณไม่ต้องเขียนคำสั่งเดียวกันซ้ำหลายครั้ง
  • 🔢 ลูปการนับ: สำหรับและในขณะที่เงื่อนไขยังคงอยู่ เหมาะอย่างยิ่งเมื่อคุณรู้หรือ track คือจำนวนรอบที่จำเป็น
  • 📦 ลูป Foreach: คำสั่ง foreach จะวนลูปผ่านทุกองค์ประกอบของอาร์เรย์โดยไม่ต้องจัดการตัวนับดัชนีด้วยตนเอง
  • 🤖 AI ช่วยเหลือ: เครื่องมือ AI สามารถปรับโครงสร้างคำสั่ง if-else ที่ยาวๆ ให้เป็นคำสั่ง switch หรือ match และช่วยแก้ไขปัญหาลูปไม่สิ้นสุดได้

โครงสร้างควบคุมและลูปใน PHP

โครงสร้างการควบคุมคืออะไร?

Code การดำเนินการสามารถแบ่งออกเป็นหมวดหมู่ได้ดังแสดงด้านล่าง

  • เนื่อง – ขั้นตอนนี้เกี่ยวข้องกับการเรียกใช้โค้ดทั้งหมดตามลำดับที่เขียนไว้
  • การตัดสิน – อันนี้เกี่ยวข้องกับการเลือกตัวเลือกโดยมีตัวเลือกมากมาย รหัสที่ดำเนินการขึ้นอยู่กับค่าของเงื่อนไข

โครงสร้างการควบคุมคือกลุ่มของโค้ดที่ตัดสินใจเส้นทางการทำงานของโปรแกรมโดยขึ้นอยู่กับค่าของเงื่อนไขที่ตั้งไว้

ต่อไปนี้เราจะมาดูโครงสร้างการควบคุมบางส่วนกัน PHP สนับสนุน

PHP ถ้าเป็นอย่างอื่น

ถ้า…แล้ว…อย่างอื่นคือ โครงสร้างการควบคุมที่ง่ายที่สุดโดยจะประเมินเงื่อนไขโดยใช้ตรรกะบูลีน

เมื่อใดควรใช้ if… then… else

  • คุณมีบล็อกโค้ดที่ควรดำเนินการเฉพาะในกรณีที่เงื่อนไขบางอย่างเป็นจริง
  • คุณมีสองตัวเลือก และคุณต้องเลือกหนึ่งตัวเลือก
  • ถ้า... แล้ว... อื่นถ้า... ถูกใช้เมื่อคุณต้องเลือกมากกว่าสองตัวเลือก และคุณต้องเลือกหนึ่งรายการขึ้นไป

ไวยากรณ์ รูปแบบไวยากรณ์ของคำสั่ง if… then… else คือ:

<?php
if (condition is true) {
    block one
} else {
    block two
}
?>

ที่นี่

  • "ถ้า (เงื่อนไขเป็นจริง)“คือโครงสร้างควบคุม”
  • "บล็อกหนึ่ง” คือโค้ดที่จะดำเนินการหากเงื่อนไขเป็นจริง
  • อื่น เป็นทางเลือกหากเงื่อนไขเป็นเท็จ
  • "บล็อกที่สอง” คือบล็อกของโค้ดที่ถูกดำเนินการหากเงื่อนไขเป็นเท็จ

มันทำงานอย่างไร. แผนผังการไหลที่แสดงด้านล่างนี้แสดงให้เห็นว่าโครงสร้างควบคุม if… then… else ทำงานอย่างไร

PHP ถ้าเป็นอย่างอื่น

ลองมาดูวิธีการทำงานจริงกันครับ โค้ดด้านล่างนี้ใช้ “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

ตัวอย่างการปฏิบัติ

รหัสด้านล่างใช้โครงสร้างการควบคุมสวิตช์เพื่อแสดงข้อความขึ้นอยู่กับวันในสัปดาห์

<?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

คำถามที่พบบ่อย

ใช้คำสั่ง switch เมื่อเปรียบเทียบตัวแปรเดียวกับค่าคงที่หลายค่า เพราะอ่านง่ายกว่าการใช้คำสั่ง if-else ที่ยาว ส่วนคำสั่ง if-else เหมาะสำหรับช่วงค่า เงื่อนไขที่ซับซ้อน หรือการเปรียบเทียบที่เกี่ยวข้องกับตัวแปรต่างกัน

คำสั่ง `break` จะหยุดลูปโดยสมบูรณ์และไปยังโค้ดส่วนถัดไป ส่วนคำสั่ง `continue` จะข้ามส่วนที่เหลือของการวนซ้ำในปัจจุบันและกระโดดไปยังการวนซ้ำถัดไป โดยไม่ทำให้ลูปสิ้นสุดลงโดยสมบูรณ์

`match` เป็นคำสั่งทางเลือกที่ทันสมัยกว่า `switch` ซึ่งถูกนำมาใช้ใน PHP 8 คำสั่งนี้จะคืนค่ากลับมา ใช้การเปรียบเทียบแบบเข้มงวด ไม่จำเป็นต้องใช้คำสั่ง `break` และจะแสดงข้อผิดพลาดหากไม่มีเงื่อนไขใดตรงกัน ทำให้ปลอดภัยและกระชับกว่า

ใช่ AI สามารถเขียนโค้ด if-else ที่ยาวๆ ใหม่ให้เป็น switch หรือ match expression ใน PHP 8 ได้ping หลักการทำงานเหมือนเดิมทุกประการ แต่ทำให้โค้ดสั้นลงและอ่านง่ายขึ้น ทดสอบผลลัพธ์หลังจากนั้น

ใช่แล้ว AI สามารถตรวจสอบเงื่อนไขของลูปและตัวนับของคุณ ตรวจจับค่าที่เพิ่มขึ้นไม่ครบ หรือเงื่อนไขที่ไม่เคยเป็นเท็จ และแนะนำวิธีแก้ไขเพื่อให้ลูปสิ้นสุดตามที่ต้องการ

สรุปโพสต์นี้ด้วย: