ບົດທີ 6 ການສ້າງຟັງຊັນຂອງ PHP

6.1 ຟັງຊັນໃນ PHP
ຟັງ​ຊັນ​ທີ່​ຜູ້​ຂຽນ​ໂປຣ​ແກຣມສ້າງ​ຂຶ້ນ​ມາ​ເພື່ອ​ນຳ​ໄປ​ໃຊ້​ງານ​ເອງໝາຍ​ເຖິງ​ຊຸດ​ຄຳ​ສັ່ງ​ຍ່ອຍໆຫຼື​ໂປຣ​ແກຣມຍ່ອຍທີ່​ຖືກ​ຂຽນ​ຂຶ້ນ​ມາ
​ເພື່ອ​ໃຊ້​ງານ​ຮ່ວມ​ກັບ​ຄຳ​ສັ່ງ ຫຼື​ຟັງ​ຊັນ​ອື່ນໆ​ໃນ​ໂປຣ​ແກຣມ ​ເພື່ອ​ໃຫ້​ໂປຣ​ແກຣມ​ເຮັດ​ວຽກ​​ໄດ້​ສົມບູນ​ແບບ ​ໂດຍ​ຊຸດ​ຄຳ​ສັ່ງ​ຍ່ອຍ​ນີ້​ສາມາດ​ຖືກ​ເອີ້ນ​ໃຊ້​ຊ້ຳ​ໄດ້​ຫຼາຍ​ຄັ້ງ ​ເຊັ່ນ ຄຳ​ສັ່ງ​ກວດ​ສອບ​ຂໍ້ຄວາມ​ທີ່​ບໍ່​ເໝາະ​ສົມ,ຄຳ​ສັ່ງ​ສະ​ແດງ​ວັນ​ເວລາ ​ເປັນ​ຕົ້ນ.
ຈຸດ​ດີ​ຂອງ​ການ​ສ້າງ​ຟັງ​ຊັນ​ຂຶ້ນ​ມາ​ໃຊ້​ງານ​ເອງ​ຄື ລຸດຜ່ອນ​ການ​ຂຽນ​ໂປຣ​ແກຣມທີ່​ຄື​ກັນ​ໂດຍ​ບໍ່​ຕ້ອງ​ຂຽນ​ຫຼາຍ​ເທື່ອ ​ເຊິ່ງຈະ​ມີ​ການ​ເກັບ​ຊຸດ​ຄຳ​ສັ່ງ​​ໄວ້​ພຽງ​ຊຸດ​ດຽວ ​ແລະ ຊ່ວຍ​ໃຫ້ການ​ແກ້​ໄຂ​ໃນ​ພາຍຫຼັງ​ງ່າຍ​ຂຶ້ນ​ເມື່ອ​ເວລາ​ຊຸດ​ຄຳ​ສັ່ງ​ຍ່ອຍ​ມີ​ ການ​ປ່ຽນ​ແປງ.
1) ຕົວ​ປ່ຽນ​ສົ່ງ ​ແລະ ຕົວ​ປ່ຽນ​ຮັບ.
ກ່ອນ​ທີ່​ເຮົາ​ຈະ​ສ້າງ​ຟັງ​ຊັນ​ໄວ້​ໃຊ້​ງານ ​ເຮົາ​ຕ້ອງຮຽນ​ຮູ້ ​ແລະ​ເຂົ້າ​ໃຈ​ກ່ຽວ​ກັບຕົວ​ປ່ຽນ 2 ປະ​ເພດ​ຄື: ຕົວ​ປ່ຽນ​ສົ່ງ ​ແລະ ຕົວ​ປ່ຽນ​ຮັບ
+ ຕົວ​ປ່ຽນ​ສົ່ງ(Parameter) ​​ແມ່ນ​ຕົວ​ປ່ຽນ​ທີ່​ຟັງ​ຊັນ​ສ້າງ​ໄວ້​ຮັບ​ຄ່າ​ທີ່​ຈະ​ສົ່ງ​ເຂົ້າ​ມາ ​ແລະຈະ​ນຳ​​ເອົາ​ຄ່າ​ຕົວ​ປ່ຽນ​ເຫຼົ່າ​ນັ້ນ​ໄປ​ປະມວນ​ຜົນ​ໃນ​ຟັງ​ຊັນ.
+ ຕົວ​ປ່ຽນ​ຮັບ(Argument) ​ແມ່ນ​ຕົວ​ປ່ຽນ​ທີ່​ສົ່ງ​ຄ່າ​ມາ​ໃຫ້​ຟັງ ​ເຊິ່ງຈະ​ໃຊ້​ໃນ​ການ​ເອີ້ນ​ໃຊ້​ງານ​ຟັງ​ຊັນ

2) ສ່ວນ​ປະກອບ​ຂອງ​ຟັງ​ຊັນ.
​      ຟັງ​ຊັນ​ທີ່​ເຮົາ​ຈະ​ສ້າງ​ຂຶ້ນ​ມີ​ສ່ວນ​ປະກອບ​ທີ່​ສຳຄັນ 2 ສ່ວນ​ຄື:
     2.1 ສ່ວນ​ປະກາດ​ຟັງ​ຊັນ: ປະກອບ​ດ້ວຍ ຊື່​ຟັງ​ຊັນ,ຕົວ​ປ່ຽນ​ສົ່ງ,ຄຳ​ສັ່ງ​ຕ່າງໆ​ທີ່​ຕ້ອງການ​ໃຫ້​ຟັງ​ຊັນ​ເຮັດ​ວຽກ ​ແລະການ​ຄືນ​ຄ່າ​ຂອງ​ຟັງ​ຊັນ(ອາດ​ຈະ​ມີ​ ຫຼື​ບໍ່​ມີ​ກໍ່​ໄດ້) ມີຮູບ​ແບບ​ການ​ສ້າງ​ຟັງ​ຊັນ
 function ຊື່ຟັງ​ຊັນ ($parameter1,$parameter2,...)
 
{
  ຄຳ​ສັ່ງ​ຕ່າງໆ​ທີ່​ຕ້ອງການ​ໃຫ້​ຟັງ​ຊັນ​ເຮັດ​ວຽກ;
  ການ​ຄືນ​ຄ່າ​ຂອງ​ຟັງ​ຊັນ(ອາດ​ຈະ​ມີ ຫຼື​ບໍ່​ມີ​ກໍ່​ໄດ້);
  }
     2.2 ສ່ວນ​ການ​​ເອີ້ນ​ໃຊ້​ຟັງ​ຊັນ: ຈະ​ປະກອບ​ດ້ວຍ​ຊື່​ທີ່​ໃຊ້​ເອີ້​ນຟັງ​ຊັນ​ຂຶ້ນ​ມາ​ໃຊ້​ງານ ຕາມ​ຄ່າ​ຕົວ​ປ່ຽນ​ຮັບ ​ເຊິ່ງມີ​ຮູບ​ແບບ​ການ​ຂຽນ​ດັ່ງ​ນີ້
 ຊື່​ຟັງ​ຊັນ (Argument1, Argument2);
ຕົວຢ່າງ:
<?
function convert_month($input) {
$month=array("","Jan","Feb","Mar","Apl","May","Jun","Jul","Ags","Set","Obt",
"Nov","Dec");
return $month[$input];
}
$num=12;
echo convert_month($num);
?>

ຜົນ​ໄດ້​ຮັບ




ຈາກ​ຕົວຢ່າງ​ຂ້າງ​ເທິງ​ນີ້ ​ເຮົາ​ປະກາດ​ຟັງ​ຊັນ​ຊື່ convert_month ​ແລ​ະ ກຳນົດ​ຕົວ​ປ່ຽນ $num ​ເກັບ​ເລກ​ລຳດັບ​ຂອງ​ເດືອນ​ເທົ່າ​ກັບ 12 ​ແລ້ວ​ສົ່ງ​ຄ່າ​ຕົວປ່ຽນ $num ​ເຂົ້າ​ໄປ​ປະມວນ​ຜົນ​ໃນ​ຟັງ​ຊັນ ​ແລ້ວ​ຟັງ​ຊັນ​ຈະ​ຄືນ​ຄ່າ​ອອກ​ມາ​ເປັນ​ຊື່​ຂອງ​ເດືອນ.

 
3. ຟັງ​ຊັນ​ທີ່​ບໍ່​ມີ​ການ​ຄືນ​ຄ່າ.
ຟັງ​ຊັນ​ທີ່​ບໍ່​ມີ​ການ​ຄືນ​ຄ່າ ຈະ​ໃຊ້​ຄຳ​ສັ່ງ return ​ໃນ​ຈຸດ​ທີ່​ຕ້ອງການ​ຍຸດ​ການ​ເຮັດ​ວຽກພາຍ​ໃນ​ຟັງ​ຊັນ ​ແລ້ວ​ເຮັດ​ວຽກ​ໃນ​ຂັ້ນ​ຕອນ​ຕໍ່​ໄປ
ຕົວຢ່າງ:
<?
function checkmail($checkmail) {
if(ereg("^[^@]+@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9\-] {2} |net|com|org)$",$checkmail) ) {
echo "Your email address is correct<br>";
return;
}
else
{
echo "Your email address is wrong<br>";
return;
}
}
$email1="ngaviseth@hotmail.com";
$email2="ngaviseth#hotmail.com";
checkmail($email1);
checkmail($email2);
?>
ຜົນ​ໄດ້​ຮັບ



 
4. ຟັງ​ຊັນ​ທີ່​ມີ​ການ​ຄືນ​ຄ່າ.
ຟັງ​ຊັນ​ທີ່​ມີ​ການ​ຄືນ​ຄ່າ ຫຼື​ຜົນ​ຮັບ​ກັບ​ອອກ​ມາ​ຈາກ​ຟັງ​ຊັນ​ສ່ວນ​ຫຼາຍ​ເປັນ​ຟັງ​ຊັນ​ປະ​ເພດ​ທີ່​ ຕ້ອງການ​ຄຳນວນ ​ໂດຍ​ຈະ​ໃຊ້​ຄຳ​ສັ່ງ return ຕາມ​ດ້ວຍ​ຄ່າ​ທີ່​ຕ້ອງການ​ສົ່ງ​ກັບ ​ເຊິ່ງຄ່າ​ທີ່​ສົ່ງ​ກັບ​ໄປ​ອາດ​ຈະ​ເປັນ​ຕົວ​ປ່ຽນ,ຄ່າ​ຄົງ​ຄ່າ ຫຼື​ຟັງ​ຊັນ​ກໍ່​ໄດ້.
ຕົວຢ່າງ:
<?
function summary($intx,$inty) {
$sum=$intx+$inty;
return($sum);
}
$x=10;
$y=12;
$z=summary($x,$y);
echo "x=$x,y=$y<br>";
echo "sum of x + y = ",$z;
?>
ຜົນ​ໄດ້​ຮັບ