ในบทความนี้ผมจะแนะนำถึงวิธีการสร้างฟังก์ชันเพื่อรับค่า arguments แบบไม่กำหนดจำนวน ตัวอย่างเช่นฟังก์ชัน array_merge() ของ PHP เราสามารถใส่ค่าอะเรย์กี่ตัวก็ได้ตามต้องการ โดยมันจะทำการรวมอะเรย์ให้เราเอง โดยจะต้องใช้ฟังก์ชัน func_get_args() และ func_num_args() ช่วยในการตรวจสอบ argument ที่ส่งมา
<?php
function summary_number() {
// นับว่าส่ง arguments มากี่ตัวด้วยฟังก์ชัน func_num_args()
$count_args = func_num_args();
// รับค่า arguments ทั้งหมดเก็บไว้ในอะเรย์
$args = func_get_args();
// ทำการหาผลรวมของ arguments ที่ส่งมาทั้งหมด
$sum = 0;
for ($i = 0; $i < $count_args; $i++) {
$sum += $args[$i];
}
return $sum;
}
// เราสามารถเรียกใช้ฟังก์ชันนี้ โดยส่ง arguments กี่ตัวก็ได้ (จะต้องเป็นตัวเลข)
echo summary_number(10, 20, 5, 30, 10);
// 75
echo summary_number(5, 1, 3, 10);
// 19
?>
Login
Search