หน้าเว็บ

วันศุกร์ที่ 2 กันยายน พ.ศ. 2554

หา Argument ของ function ด้วย func_get_args()

ปกติแล้วถ้าเราเีขียน function ใน php ซํกตัวแล้วต้องการส่ง Argument ให้กับฟังก์ชั่นก็ใช้คอมม่าคั่นไปเรื่อย ๆ เช่น

function calculate($para1,$para2,$para3)
{
    echo "summary = ".$para1+$para2+$para3;
}

เวลาเรียกใช้ฟังก์ชั่น

calculate(22,34,78);

จะสังเกตุว่าถ้ามีการเพิ่ม Argument สักตัว เช่น calculate(22,34,78,15); เราก็ต้องเขียนเพิ่ม
งั้นลองใช้ฟังก์ชั่น func_get_args() ดูค่ะ ความสามารถของมันธรรมดาแต่มีประโยชน์สุด ๆ คือ มันจะ get ค่า Argument ที่ถูกส่งมาทั้งหมดให้โดยอัตโนมัติ มาลองดู ปรับแก้ฟังก์ชั่นใหม่

function calculate()
{
    $summary = 0;
    $args = func_get_args();  // รับค่า Arguments ทั้งหมดแล้วเก็บค่าเป็น Array
    foreach ($args as $key=>$value)
    { 
        $summary += $value;
    }
    echo "summary = ".$summary;
}

จากฟังก์ชั่นที่ปรับแก้ ค่า $args ที่ได้มาจากเรียกใช้ func_get_args(); จะได้ค่าเป็น

$args = array(0 => 22,
                       1  => 34,
                       2  => 78);

ง่ายม่ะ ฟังก์ชั่นนี้เรียวลองกับ Method ใน Class แล้วสามารถใช้ได้เหมือนกันไม่มีปัญหาแต่อย่างใด ลองเอาไปใช้ดูนะคะเรียวว่ามีประโยชน์มาก ๆ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น