Ta nên t o các hàm v i lý do: t ng tính nh"t quán, tin c y, gi m th i gian vi t mã và t ng tính m m d$o cho ch ng trình.
Trong php, hàm (có giá tr) tr v ) và th t&c (không có giá tr) tr v ) u c g i chung là hàm. )nh ngh a m t hàm c xây d ng b%i ng i s( d&ng nh sau: function tênhàm([thams 1, tham s 2, ...)
{
//N i dung ph n )nh ngh a c a hàm }
Trong ó: function: là t khoá.
- Tên hàm: Là m t tên h p l c t theo qui t c nh t tên bi n và không trùng v i các tên hàm ã xây d ng trong php.
- M t hàm có th có m t hay nhi u tham s hay không có tham s nào. Các tham s (n u có) s không có kèm theo ki u d li u mà ki u c a nó s tu* thu c vào giá tr) nh n c khi g i hàm.
- Ph n n i dung hàm n'm trong c p d"u bao kh i {}.
- Hàm s nh n giá tr) tr v thông qua phát bi u return giátr). - return; s thoát kh-i hàm và không tr v giá tr) nào.
- return bi uth c; s thoát kh-i ch ng trình và tr v giá tr) bi uth c.
- Hàm có th t b"t c v) trí nào trong trang và ch c thi hành khi ta th c hi n g i hàm.
Ví d&: Vi t hàm ki m tra xem m t s có ph i là s nguyên t hay không. Hàm s
nh n giá tr) tr v : true hay false t ng ng v i tham s nh n vào là s nguyên t hay không.
<?
//Hàm có giá tr) tr v : true/false. function IsNguyenTo($num) {
for($i=2; $i<$num; $i++)
if ($num % $i==0) return false; return true; }
// Hàm không có giá tr) tr v . K t qu in ngay trong hàm function IsNguyenTo2($num) { $i=2; $nto = 1; while ($i<$num) { if ($num % $i==0) { $nto = 0;
break; //Thoát kh-i while }
$i++; }
if ($nto) echo "| " .$num; }
$ArrNum = array(2, 3, 5, 6, 9, 10, 23, 28, 29);
echo " Danh sach cac so nguyen to trong mang :<br>"; //Duy t qua các ph n t( trong m ng
for ($i=0; $i<9; $i++) //Truy n tham s và g i hàm. if (IsNguyenTo($ArrNum[$i])) echo "| ". $ArrNum[$i]; echo "<br>";
for ($i=0; $i<9; $i++)
IsNguyenTo2($ArrNum[$i]); ?>