การปรับปรุงประสิทธิภาพด้วยฟังก์ชันในตัวของ PHP

สมมติว่ามีโปรแกรมเมอร์คนหนึ่งกำลังตรวจสอบว่าในอาร์เรย์ มีตัวเลข 5 หรือไม่:

php<?php
  $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  
  $exists = false;
  foreach ($arr as $elem) {
    if ($elem == 5) {
      $exists = true;
      break; // ออกจากลูปเพื่อไม่ให้ทำงานเกินจำเป็น
    }
  }
  
  var_dump($exists);
?>

ผมยืนยันว่ามีบางอย่างผิดปกติกับโค้ดนี้ อะไรล่ะที่ไม่ปกติ? เราไม่ใช่ออกจากลูป หลังจากที่พบเลข 3 แล้วเหรอ? ประเด็นคือ ฟังก์ชันในตัวของ PHP นั้นทำงานได้เร็วกว่า โค้ดที่เขียนเองแบบทำนองเดียวกันหลายเท่าตัว

ในกรณีของเรานี้ มีฟังก์ชัน in_array ที่สามารถแก้ปัญหาที่ตั้งไว้ได้ - และเราควรใช้ ฟังก์ชันนี้:

php<?php
  $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  var_dump(in_array(3, $arr));
?>

คำสอน: ก่อนที่จะแก้ปัญหาใดๆ อย่าลืม ตรวจสอบเสมอว่า PHP มีฟังก์ชันในตัว สำหรับแก้ปัญหานั้นหรือไม่

Задание 1

ในโค้ดถัดไป โปรแกรมเมอร์คนหนึ่งกำลังหาผลรวม ของสมาชิกในอาร์เรย์ จงปรับปรุงประสิทธิภาพ การแก้ปัญหาของโปรแกรมเมอร์คนนี้

นี่คือโค้ด:

php<?php
  $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
  
  $sum = 0;
  foreach ($arr as $elem) {
    $sum += $elem;
  }
  echo $sum;
?>
Задание 2

ในโค้ดถัดไป โปรแกรมเมอร์คนหนึ่งกำลังหาผลคูณ ของสมาชิกในอาร์เรย์ จงปรับปรุงประสิทธิภาพ การแก้ปัญหาของโปรแกรมเมอร์คนนี้:

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