การปรับปรุงประสิทธิภาพด้วยฟังก์ชันในตัวของ PHP
สมมติว่ามีโปรแกรมเมอร์คนหนึ่งกำลังตรวจสอบว่าในอาร์เรย์
มีตัวเลข 5 หรือไม่:
<?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
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var_dump(in_array(3, $arr));
?>
คำสอน: ก่อนที่จะแก้ปัญหาใดๆ อย่าลืม ตรวจสอบเสมอว่า PHP มีฟังก์ชันในตัว สำหรับแก้ปัญหานั้นหรือไม่
ในโค้ดถัดไป โปรแกรมเมอร์คนหนึ่งกำลังหาผลรวม ของสมาชิกในอาร์เรย์ จงปรับปรุงประสิทธิภาพ การแก้ปัญหาของโปรแกรมเมอร์คนนี้
นี่คือโค้ด:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$sum = 0;
foreach ($arr as $elem) {
$sum += $elem;
}
echo $sum;
?>
ในโค้ดถัดไป โปรแกรมเมอร์คนหนึ่งกำลังหาผลคูณ ของสมาชิกในอาร์เรย์ จงปรับปรุงประสิทธิภาพ การแก้ปัญหาของโปรแกรมเมอร์คนนี้:
<?php
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$res = 1;
foreach ($arr as $elem) {
$res *= $elem;
}
echo $res;
?>