การเขียนโปรแกรมคอมพิวเตอร์ 1 ฟังก์ชัน (Functions) การเขียนโปรแกรมคอมพิวเตอร์ 1
ฟังก์ชัน (Functions) ฟังก์ชัน คือ กลุ่มหรือชุดของคำสั่งที่สร้างขึ้นเพื่อทำหน้าที่หนึ่งๆ เมื่อต้องการใช้งานก็ เพียงเรียกชื่อ ฟังก์ชันนั้นก็สามารถใช้งานได้ทันที ฟังก์ชันใน PHP สามารถแบ่งได้เป็น 2 ชนิด คือ 1) ฟังก์ชันมาตรฐาน (Built-in Functions) 2) ฟังก์ชันที่ผู้ใช้งานเป็นผู้สร้างเอง (User Defined Functions)
ฟังก์ชันมาตรฐาน (Built-in Functions) ฟังก์ชันมาตรฐาน คือ ฟังก์ชันที่มาพร้อมกับ PHP สามารถเรียกใช้งานได้ทันที ฟังก์ชัน มาตรฐานมี หลายกลุ่มการทำงาน สามารถจำแนกตามหน้าที่ ดังนี้ ฟังก์ชันที่เกี่ยวกับวันที่และเวลา ฟังก์ชันที่เกี่ยวกับการคำนวณทางคณิตศาสตร์ ฟังก์ชันที่เกี่ยวกับการติดต่อกับฐานข้อมูล ฟังก์ชันที่เกี่ยวกับการจัดการกับกับสตริงหรือข้อความ
ฟังก์ชันที่ผู้ใช้งานเป็นผู้สร้างเอง (User Defined Functions) ฟังก์ชันที่ผู้ใช้งานเป็นผู้สร้างเอง คือ กลุ่มของคำสั่งที่ผู้ใช้เป็นผู้เขียนหรือพัฒนาขึ้นมา เอง เพื่อ ทำงานหรือทำหน้าที่อย่างใดอย่างหนึ่งตามต้องการ
ฟังก์ชัน (Functions) ฟังก์ชัน 2 ประเภทนี้ประกอบไปด้วย ฟังก์ชันที่ไม่มีการส่งค่าระหว่างฟังก์ชัน และ ฟังก์ชันที่มีการส่งค่าระหว่างฟังก์ชัน ค่าที่ใช้รับส่งระหว่างฟังก์ชัน จะเรียกว่า พารามิเตอร์ (parameter) หรือบ้างก็เรียกว่า อาร์กิวเมนต์ (argument)
การสร้างฟังก์ชัน (Creating a Function) ลักษณะของงานที่จะนำมาสร้างเป็นฟังก์ชันนั้น ควรเป็นงานหรือการกระทำอย่างใดอย่าง หนึ่ง ที่ มักจะต้องทำซ้ำๆ และบ่อยครั้ง เพื่อให้ไม่ต้องเขียนคำสั่งหรือชุดคำสั่งนั้นๆ ทุกครั้ง ที่ต้องการทำงาน แบบเดิม ซึ่งสามารถแยกคำสั่งบางส่วนออกมาสร้างเป็นฟังก์ชันไว้ ต่างหากและนำมาทำเป็นฟังก์ชัน และ เรียกใช้ตามลักษณะงานที่ต้องการ จะช่วยให้โค้ด คำสั่งของมีขนาดเล็กลง ช่วยลดการใช้ทรัพยากร และง่าย ในการปรับปรุงแก้ไขในอนาคต เพราะสามารถแก้ไขเพียงครั้งเดียวก็จะมีผลทุกจุดที่เรียกใช้ฟังก์ชัน
การสร้างฟังก์ชันแบบไม่มีค่าพารามิเตอร์ (Creating a Function) รูปแบบคำสั่ง function ชื่อฟังก์ชัน () { // คำสั่ง }
การสร้างฟังก์ชันแบบไม่มีค่าพารามิเตอร์ (Creating a Function) ตัวอย่าง function Test () { echo “Test Function PHP”; }
การเรียกใช้งานฟังก์ชัน รูปแบบคำสั่ง ชื่อฟังก์ชัน (); ตัวอย่าง Test();
การสร้างและเรียกใช้ฟังก์ชัน ตัวอย่าง function Test () { echo “Test Function PHP”; } Test();
การสร้างและเรียกใช้ฟังก์ชัน ตัวอย่าง function Multiplication_table (){ for($i=2;$i<=12;$i++){ for($x=1;$x<=12;$x++){ echo $i.“x”.$x.”= “.($i*$x).”<br/>”; } Multiplication_table();
การสร้างฟังก์ชันแบบมีค่าพารามิเตอร์ (Creating a Function) พารามิเตอร์ คือ ข้อกำหนดในการรับข้อมูลของฟังก์ชัน โดยข้อมูลนั้นจะถูกนำไปใช้ ประมวลผล ภายในฟังก์ชัน พารามิเตอร์จะทำให้ฟังก์ชันมีความยืดหยุ่นต่อการใช้งาน เพราะผลลัพธ์จะแปรเปลี่ยนไป ตามค่าพารามิเตอร์นั้น
การสร้างฟังก์ชันแบบมีค่าพารามิเตอร์ (Creating a Function) รูปแบบคำสั่ง function ชื่อฟังก์ชัน (ชื่อพารามิเตอร์1 = ค่าเริ่มต้น1, ชื่อพารามิเตอร์ 2= ค่าเริ่มต้น2,..n) { // คำสั่ง } n คือ ไม่จำกัดจำนวน พารามิเตอร์
การสร้างฟังก์ชันแบบมีค่าพารามิเตอร์ (Creating a Function) ตัวอย่าง function Myname ($fname= “”,$lname=“”) { echo “ชื่อ “.$fname.” นามสกุล ”.$lname; }
การเรียกใช้งานฟังก์ชัน รูปแบบคำสั่ง ชื่อฟังก์ชัน (ข้อมูล1,ข้อมูล2, ..n); ตัวอย่าง Myname(“Thai”,”Land”);
การสร้างและเรียกใช้ฟังก์ชัน ตัวอย่าง function Myname ($fname= “”,$lname=“”) { echo “ชื่อ “.$fname.” นามสกุล ”.$lname; } Myname(“Thai”,”Land”);
การสร้างและเรียกใช้ฟังก์ชัน ตัวอย่าง function Multiplication_table ($j=2,$k=12){ for($i=$j;$i<=$k;$i++){ for($x=1;$x<=12;$x++){ echo $i.“x”.$x.”= “.($i*$x).”<br/>”; } Multiplication_table(2,5);
การส่งค่ากลับจากฟังก์ชันด้วยคำสั่ง return
การส่งค่ากลับจากฟังก์ชันด้วยคำสั่ง return รูปแบบคำสั่ง function ชื่อฟังก์ชัน (ชื่อพารามิเตอร์1 = ค่าเริ่มต้น1, ชื่อพารามิเตอร์ 2= ค่าเริ่มต้น2,..n) { // คำสั่ง return ตัวแปร; } n คือ ไม่จำกัดจำนวน พารามิเตอร์
การส่งค่ากลับจากฟังก์ชันด้วยคำสั่ง return ตัวอย่าง function Myname ($fname= “”,$lname=“”) { return “ชื่อ “.$fname.” นามสกุล ”.$lname; } echo Myname(“Thai”,”Land”);
แบบทดสอบ จงเขียนโปรแกรมหาพื้นที่รูปสามเหลี่ยมต่อไปนี้ กำหนดให้ฟังก์ชั่นชื่อ Triangle ส่งค่าพารามิเตอร์จำนวน 2 พารามิเตอร์ คือ ความกว้างฐาน และความสูง สูตรการหาพื้นที่ 0.5 *ฐาน*สูง เรียกใช้งานฟังก์ชั่น 4 ครั้ง พร้อมกำหนดข้อมูลด้วยตนเองในการส่ง <?php function Triangle($i=“”,$x=“”){ $total=0.5*$i*$x; echo $total; echo “<br/>”; } Triangle(10,15); Triangle(30,45); Triangle(15,25); ?>