Home
Course
Service
Contact
About Us

 

 

 

 

 

 

 

 

 


FUNCTION

ประเภทของฟังก์ชั่น(Function) แบ่งออกได้เป็นสองส่วนใหญ่ๆ คือ ฟังก์ชั่นที่ภาษา PHP สร้างไว้แล้ว(System Function) เพื่อให้ผู้พัฒนาสามารถเรียกใช้ได้ทันทีตามความต้องการ และฟังก์ชั่นประเภทที่ผู้พัฒนาสามารถสร้างขึ้นมา (User defined function) เพื่อใช้งานตามความต้องการได้
ประโยชน์ของการสร้างฟังก์ชั่นขึ้นมาใช้งานได้เอง เพื่อให้โปรแกรมสามารถแบ่งออกเป็นส่วนย่อยๆ ทำให้การพัฒนาเป็นทีมขนาดใหญ่ สามารถทำได้โดยคล่องตัวและเมื่อโปรแกรมมีความผิดพลาด ก็สามารถค้นหาข้อผิดพลาดได้อย่างรวดเร็ว และประโยชน์ที่สำคัญ เมื่อมีการแก้ไขชุดคำสั่งภายในฟังก์ชั่นจะไม่ส่งผลกระทบกับโปรแกรมหลัก ที่เรียกใช้ฟังก์ชั่นนั้นๆทำให้การพัฒนาโปรแกรม เป็นไปด้วยความรวดเร็วและมีประสิทธิภาพ

รูปแบบการสร้างฟังก์ชั่น(Syntax ของฟังก์ชั่น)
function function_name ( [parameterlist] ) {
.
รายการชุดคำสั่ง
.
[ return ค่าที่ต้องการส่งกลับ ]
}
รายการที่อยู่ในเครื่องหมาย [ … ] หมายความว่าจะมีการกกำหนดไว้หรือปล่อยว่างไว้ก็ได้
function_name คือชื่อของฟังก์ชั่นที่ต้องการสร้างขึ้นมาใช้งาน
[parameterlist] คือรายการของตัวแปรที่ตั้งรับค่าที่ถูกส่งมา (อากิวเม็นท์) เมื่อมีการเรียกใช้ฟังก์ชั่นนี้ซึ่งจะมีหรือไม่มีก็ได้
รายการชุดคำสั่ง คือคำสั่งต่างๆ ที่ทำให้ฟังก์ชั่นนี้ทำงานได้ตามที่ต้องการ
[ return ค่าที่ต้องการส่งกลับ ] คือการส่งค่ากลับไปยังคำสั่งที่มี การเรียกใช้ฟังก์ชั่นนี้ ซึ่งจะมีหรือไม่มีก็ได้นอกจากนี้ในเรื่องของฟังก์ชั่น ผู้พัฒนาโปรแกรมยังต้องรู้จักอีกคำคือ อากิวเม็นท์ (Argument) เป็นรายการของค่าที่ถูกส่งมาจากคำสั่งที่เรียกใช้ฟังก์ชั่นนี้

การเรียกใช้ฟังก์ชั่น
1. ต้องมีการสร้างฟังก์ชั่นขึ้นมาก่อนการเรียกใช้ฟังก์ชั่นนั้นเสมอ
2. การเรียกใช้ฟังก์ชั่นก็คือการอ้างถึงชื่อของฟังก์ชั่นที่ต้องการ
3. คำสั่งที่เรียกใช้ฟังก์ชั่นจะอยู่ก่อนหรือหลังฟังก์ชั่นที่ถูกเรียกใช้ก็ได้

เช่น
1 <?
2 show_echo();
3 /* คำสั่งการเรียกใช้ฟังก์ชั่นแบบที่มีการสร้างฟังก์ชั่นไว้ในส่วนท้ายของโปรแกรม */
4 function show_echo() {
5 echo "ทดลองการใช้ ฟังก์ชั่น";
6 }
7 ?>

กับ
1 <?
2 function show_echo() {
3 echo "ทดลองการใช้ ฟังก์ชั่น";
4 }
5 show_echo();
6 /* คำสั่งการเรียกใช้ฟังก์ชั่นแบบที่มีการสร้างฟังก์ชั่นไว้ก่อนที่จะมีการเรียกใช้
7 ?>

จากตัวอย่างของโปรแกรมทั้งสอง จะเห็นว่าคำสั่งที่เรียกใช้ฟังก์ชั่นจะอยู่ก่อนหรือหลังฟังก์ชั่นที่สร้างขึ้นมาก็ได้


ตัวอย่างที่ 7
1 <?
2 function show_echo($echo) {
3 echo "$echo<br>";
4 }
5 show_echo("ทดลองการใช้ฟังก์ชั่นแบบมีการส่งค่า");
6 $arg = "ทดลองการใช้ฟังก์ชั่นแบบมีการส่งค่าผ่านตัวแปร";
7 show_echo($arg); // $arg คือตัวแปรของอากิวเม็นท์ที่จะส่ง
8 ?>

จากโปรแกรมตัวอย่างจะเห็นว่าฟังก์ชั่นที่สร้างขึ้นมามีการระบุตัวแปร พารามิเตอร์ เพื่อใช้ในการรับค่าที่ถูกส่งมานั้น ก็คือคัวแปร $echo และเมื่อมีการเรียกใช้ฟังก์ชั่นก็ได้มีการส่งค่าอากิวเม็นท์มาให้ฟังก์ชั่น โดยการส่งค่าผ่านฟังก์ชั่นนั้น ซึ่งสามารถส่งค่าตรงๆ โดยไม่ต้องผ่านตัวแปรเลยก็ได้ จากตัวอย่าง เราส่งข้อความ "ทดลองการใช้ฟังก์ชั่นแบบมีการส่งค่า" ไปให้ฟังก์ชั่นโดยไม่ผ่านตัวแปร หรือการส่งค่าไปให้ฟังก์ชั่นก็สามารถส่งค่าผ่านตัวแปรได้เช่นกัน จากตัวอย่างเราส่ง ข้อความ "ทดลองการใช้ฟังก์ชั่นแบบมีการส่งค่าผ่านตัวแปร" ไปให้ฟังก์ชั่นโดยผ่านตัวแปร $arg

จะได้เอ้าพุทคือ
ทดลองการใช้ฟังก์ชั่นแบบมีการส่งค่า
ทดลองการใช้ฟังก์ชั่นแบบมีการส่งค่าผ่านตัวแปร
ตัวอย่างการสร้างฟังก์ชั่นโดยมีการกำหนดตัวแปรพารามิเตอร์หลายตัว


ตัวอย่างที่ 8
1 <?
2 function f_show($pname,$psurname,$pmoney) {
3 echo "ผมชื่อ $pname นามสกุล $psurname มีเงินติดตัว $pmoney บาทครับ";
4 }
5 $a_name = " Mr. Willy";
6 $a_surname = "Macinthoch";
7 $a_money = 100;
8 f_show($a_name,$a_surname,$a_money);
9 ?>

จากตัวอย่างเป็นโปรแกรม ที่มีการสร้างฟังก์ชั่นขึ้นมา และมีการกำหนดตัวแปรของพารามิเตอร์ ไว้หลายตัว เวลาเรียกฟังก์ชั่นก็สามารถส่งค่าอากิวเม็นท์ มาให้ฟังก์ชั่นได้เท่ากับจำนวนของตัวแปรพารามิเตอร์ที่มีกำหนดไว้ที่ฟังก์ชั่นเช่นกัน

จะได้เอ้าพุทคือ ผมชื่อ Mr. Willy นามสกุล Macinthoch มีเงินติดตัว 100 บาทครับ

 



:: ศูนย์ฝึกอบรมบางปะกง การไฟฟ้าฝ่ายผลิตแห่งประเทศไทย 8/4 หมู่ 8 ตำบลท่าข้าม อำเภอบางปะกง จังหวัดฉะเชิงเทรา 24130 ::