คำสั่ง break ใน PHP

สมมติว่าเรามีลูปดังต่อไปนี้ที่แสดง องค์ประกอบของอาร์เรย์บนหน้าจอ:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as $elem) {
    echo $elem;
  }
?>

สมมติว่าภารกิจของเราคือการกำหนดว่า มีตัวเลข 3 ในอาร์เรย์หรือไม่ ถ้ามี - ให้แสดงผลบนหน้าจอเป็น '+++' (และ ถ้าไม่มี - ก็ไม่ต้องทำอะไร)

มาแก้ไขภารกิจของเรา:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as $elem) {
    if ($elem == 3) {
      echo '+++';
    }
  }
?>

ภารกิจได้รับการแก้ไขแล้ว อย่างไรก็ตาม มีปัญหา: หลังจาก ที่พบตัวเลข 3 แล้ว อาร์เรย์ ก็ยังคงถูกวนลูปต่อไปอย่างไร้ความหมาย ซึ่งเป็นการสิ้นเปลืองทรัพยากร CPU อันมีค่าและ ทำให้การทำงานของสคริปต์ของเราช้าลง

วิธีที่เหมาะสมกว่าคือควรจะหยุดการทำงานของลูปของเราทันทีหลังจากพบ ตัวเลขนั้น สามารถทำได้ด้วยคำสั่งพิเศษ break ซึ่งอนุญาตให้สิ้นสุดการทำงานของลูปก่อนกำหนด

เอาล่ะ มาให้ลูปสิ้นสุดทันทีที่เรา พบตัวเลข 3:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as $elem) {
    if ($elem == 3) {
      echo '+++';
      break; // ออกจากลูป
    }
  }
?>

คำสั่ง break สามารถใช้สิ้นสุดลูปได้ทุกประเภท: foreach, for, while

Задание 1

กำหนดให้มีอาร์เรย์ของตัวเลข เริ่มต้นลูปที่ จะแสดงองค์ประกอบของอาร์เรย์นี้ทีละองค์ประกอบ ในคอนโซล จนกว่าจะพบองค์ประกอบที่มีค่าเป็น 0 หลังจากนั้น ลูปควรจะสิ้นสุดการทำงาน

Задание 2

กำหนดให้มีอาร์เรย์ของตัวเลข จงหาผลรวมขององค์ประกอบ ตั้งแต่ต้นอาร์เรย์จนถึงตัวเลขลบแรก

Задание 3

กำหนดให้มีอาร์เรย์ของตัวเลข จงหาตำแหน่งของตัวเลข 3 ตัวแรกในอาร์เรย์นี้ (ถือว่า ตัวเลขนี้มีอยู่ในอาร์เรย์แน่นอน)

Задание 4

จงหาว่าจำนวนเต็มกี่ตัว เริ่มต้น จากตัวเลข 1 ที่ต้องนำมาบวกกัน เพื่อให้ผลรวม มากกว่า 100