การประกาศฟังก์ชันมีรูปแบบดังนี้
การประกาศฟังก์ชัน
FUNCTION ใช้ในการเขียนชุดคำสั่งเอาไว้เรียกใช้
โดยการประกาศฟังก์ชันมีรูปแบบดังนี้
function functionname([argument1,argument2,..]) { command; }
functionname เป็นชื่อที่ตั้งขึ้นสำหรับเรียกใช้ฟังก์ชัน
argument1,argument2,
ตัวแปรชนิดต่าง ๆ ใช้สำหรับรับข้อมูลเข้ามาประมวลผล และส่งกลับไป
command คำสั่งภายในฟังก์ชัน
ตัวอย่างการเขียนชุดคำสั่งไว้เรียกใช้งาน
<?php
function multi($a,$b){
require $a * $b;
}
echo multi(10*20); //การเรียกใช้งาน
?>
จะเห็นได้ว่าเรามีการสร้างฟังก์ชัน ชื่อ multi ไว้สำหรับคูณตัวเลข 2 จำนวนเข้าด้วยกัน
การกำหนดค่าดีฟอลต์ของฟังก์ชัน
เราสามารถกำหนดค่า default ของ argument ในฟังก์ชันได้ด้วย วิธีการใช้
function([argument1=default,argument2=default,..]) { command ;}
<?php
function a_add_b($numa=1,$numb=2)
{ $sumofab=$numa+$numb;
return $sumofab;
}
$numa=5;
$numb=10;
echo ผลรวมของ $numa และ $numb คือ .a_add_b($numa,$numb). <br>n;
echo หากไม่ส่งค่าไปในฟังก์ชันจะได้ผลลัพธ์เป็น .a_add_b(). <br>n;
?>
ขอบเขตของตัวแปร
ปกติแล้วตัวแปรที่ประกาศไว้ภายในกับภายนอกฟังก์ชันจะมีข้อมูลที่แตกต่าง ถึงแม้ว่าจะมีชื่อเหมือนกัน
เพราะ php ถือว่าเป็นตัวแปรคนละตัวกัน และตำแหน่งในหน่วยความจำคนละที่กัน
แต่เราสามารถทำให้ตัวแปรนั้น ๆ เป็นตัวเดียวกันได้โดยการประกาศ
global var1,var2,var
; ไว้ในฟังก์ชัน
<?php
function sumofab($numa,$numb)
{ global $numa,$numb;
$sumab2=$numa+$numb;
$numa = $numa+5;
$numb = $numb+5;
return $sumab2;
}
$numa=3;
$numb=2;
echo $numa มีค่า คือ $numa <br>n;
echo $numb มีค่า คือ $numb <br>n;
echo ผลรวมของ $numa=$numa กับ $numb=$numb คือ .sumofab($numa,$numb).
n;
echo ค่าของ $numa หลังจากใช้ฟังก์ชันคือ $numa <br>n;
echo ค่าของ $numb หลังจากใช้ฟังก์ชันคือ $numb <br>n;
?>
ซึ่งการทำวิธีนี้ทำให้ตัวแปรทั้งภายในและภายนอกฟังก์ชันเป็นตัวเดียวกัน