- แบบทดสอบก่อนเรียน
- 1.1.ระบบคอมพิวเตอร์
- 1.2.ภาษาคอมพิวเตอร์สำหรับพัฒนาโปรแกรม
- 1.3.หลักการทำงานของเวิลด์ไวด์เว็บได้
- 1.4.ความรู้เบื้องต้นเกี่ยวกับเว็บไซต์ (Web Site)
- 1.5.ประเภทของโปรแกรมบนเว็บ
- 1.6.ประเภทของเว็บไซต์และรูปแบบการใช้งาน
- 1.7.องค์ประกอบสำคัญในการออกแบบเว็บไซต์
- 1.8.ภาษาสำหรับการพัฒนาเว็บไซต์
- 1.9.การติดตั้งชุดพัฒนาโปรแกรมภาษาพีเอชพี (PHP)
- 1.10.การสร้างโลคอลไซต์
- ใบงานฝึกปฏิบัติ
- แบบฝึกหัด
- แบบทดสอบหลังเรียน
- แบบทดสอบก่อนเรียน
- 5.1 ฟังก์ชัน
- 5.2 ประเภทของฟังก์ชัน
- 5.3 ฟังก์ชันเกี่ยวกับอาเรย์ (Array)
- 5.4 ฟังก์ชันเกี่ยวกับสตริง (String)
- 5.5 ฟังก์ชันทางคณิตศาสตร์ (Math Function)
- 5.6 ฟังก์ชันเกี่ยวกับวันและเวลา (Date/Time Function)
- 5.7 การสร้างฟังก์ชัน
- 5.8 การส่งผ่านค่าให้กับฟังก์ชัน
- 5.9 ฟังก์ชันเกี่ยวกับระบบไฟล์ (File System Function)
- ใบงานฝึกปฏิบัติ
- แบบฝึกหัด
- แบบทดสอบหลังเรียน
- แบบทดสอบก่อนเรียน
- 7.1 ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล
- 7.2 ลำดับชั้นของข้อมูล (Data Hierarchy)
- 7.3 ฐานข้อมูลมาเรียดีบี (MariaDB)
- 7.4 การเปิดใช้งานฐานข้อมูลมาเรียดีบี
- 7.5 ชนิดของข้อมูลในฐานข้อมูลมายเอสคิวแอล
- 7.6 การกำหนดคุณสมบัติของฟิลด์ข้อมูลเพิ่มเติม
- 7.7 การจัดการฐานข้อมูลด้วย PhpMyadmin
- 7.8 ภาษาเอสคิวแอล
- ใบงานฝึกปฏิบัติ
- แบบฝึกหัด
- แบบทดสอบหลังเรียน
- แบบทดสอบก่อนเรียน
- 8.1 ภาษาพีเอชพีกับการติดต่อฐานข้อมูล
- 8.2 การเขียนโปรแกรมด้วยภาษาพีเอชพี เพื่อเชื่อมต่อและปิดการเฃื่อมต่อฐานข้อมูล MySQL
- 8.3 การเขียนโปรแกรมภาษาพีเอชพี เพื่อเพิ่มข้อมูลในตาราง
- 8.4 การเขียนโปรแกรมภาษาพีเอชพี เพื่อแสดงข้อมูลในตาราง
- 8.5 การเขียนโปรแกรมภาษาพีเอชพี เพื่อค้นหาข้อมูลในตาราง
- 8.6 การเขียนโปรแกรมภาษาพีเอชพี เพื่อแก้ไขข้อมูลในตาราง
- 8.7 การเขียนโปรแกรมภาษาพีเอชพี เพื่อลบข้อมูลในตาราง
- ใบงานฝึกปฏิบัติ
- แบบฝึกหัด
- แบบทดสอบหลังเรียน
5.8 การส่งผ่านค่าให้กับฟังก์ชัน
เพื่อให้การใช้งานฟังก์ชันมีความยืดหยุ่นมากขึ้น จะต้องสร้างฟังก์ชันในลักษณะของการส่งผ่านค่า การส่งผ่านค่าให้กับฟังก์ชันในปัจจุบันนิยมใช้การส่งค่าแบบการใส่ค่าตัวแปรเป็นอาร์กิวเมนต์ ซึ่งค่าคงที่ของตัวแปรในโปรแกรมหลัก (Main Program) ส่งไปตัวแปรในโปรแกรมย่อย (Subprogram) เพื่อคํานวณหรือประมวลผลอย่างอื่น เมื่อเสร็จแล้วส่งผลกลับมายังโปรแกรมหลักโดยค่าของตัวพารามิเตอร์ที่รับเข้ามาให้กับอาร์กิวเมนต์ จะไม่ทําให้ค่าของตัวแปรอาร์กิวเมนต์ที่อยู่ภายนอกฟังก์ชันนั้นเปลี่ยนแปลงค่าไปในภาษาพีเอชพี (PHP) การส่งค่าตัวแปรให้เป็นพารามีเตอร์ของฟังก์ชัน สามารถทําได้ 3 แบบ ดังนี้
5.8.1 การส่งผ่านค่าด้วยตัวแปร (Pass by value)
เป็นการส่งค่าแบบทางเดียว เนื่องจากเมื่อฟังก์ชันรับค่าพารามิเตอร์ (Parameter) เข้าจะทําการสร้างตัวแปรขึ้นมาเป็นของตัวเองโดยการคัดลอก (Copy) ค่าจากพารามิเตอร์ (Parameter) ที่ส่งเข้ามา แล้วส่งต่อค่าที่คัดลอกนั้นไปยังตัวแปรภายในฟังก์ชันแล้วทํางาน แม้ว่าตัวแปรในฟังก์ชันมีการเปลี่ยนแปลงก็จะไม่มีผลใดๆ ต่อค่าที่อยู่ภายนอกฟังก์ชัน
ตัวอย่างโปรแกรมที่ 5.17 โปรแกรมการส่งผ่านค่าด้วยตัวแปร
เขียนคําสั่งโปรแกรมภาษาพีเอชพี ตามตัวอย่าง แล้วบันทึกไฟล์ชื่อ function_pass1.php การส่งผ่านค่าด้วยตัวแปร
Source Code:
ผลลัพธ์ที่ได้
อธิบายโปรแกรม
บรรทัดที่ 1 เปิดแท็กคำสั่งภาษาพีเอชพี
บรรทัดที่ 2 – 4 ประกาศการใช้ฟังก์ชัน foodprice($price,$promotion) มีตัวแปร 2 ตัวคือ $price และ $promotion และคำสั่งภายในฟังก์ชัน มีการคำนวณค่า $promotion = ($price * $promotion)/100;
บรรทัดที่ 5 กำหนดตัวแปร price ให้มีค่า 800
บรรทัดที่ 6 กำหนดตัวแปร promotion ให้มีค่า 20
บรรทัดที่ 7 เรียกใช้ฟังก์ชัน foodprice($price,$promotion)
บรรทัดที่ 8 ให้แสดงข้อความ Total Promotion และแสดงค่าตัวแปร promotion
บรรทัดที่ 9 ปิดแท็กคำสั่งภาษาพีเอชพี
กรณีผลลัพธ์ในตัวอย่างโปรแกรมที่ 5.17 มีการส่งผ่านค่าด้วยตัวแปรจะเห็นว่าค่าตัวแปร promotion จะไม่มีการเปลี่ยนแปลงไปตามคำสั่งการคำนวณในฟังก์ชัน foodprice($price,$promotion)
5.8.2 การส่งผ่านค่าด้วยการอ้างอิง (Pass by Reference)
เป็นการส่งค่าแบบทางเดียว เนื่องจากเมื่อฟังก์ชันรับค่าพารามิเตอร์ (Parameter) จะทําการสร้างตัวแปรขึ้นมาเป็นของตัวเองโดยการคัดลอก (Copy) ค่าจากพารามิเตอร์ (Parameter) ที่ส่งเข้ามา แล้วส่งต่อค่าที่คัดลอกนั้นไปยังตัวแปรภายในฟังก์ชันแล้วทํางาน แม้ว่าตัวแปรในฟังก์ชันมีการเปลี่ยนแปลงก็จะไม่มีผลใดๆ ต่อค่าที่อยู่ภายนอกฟังก์ชัน
ตัวอย่างโปรแกรมที่ 5.18 โปรแกรมการส่งผ่านค่าด้วยการอ้างอิง
เขียนคําสั่งโปรแกรมภาษาพีเอชพี ตามตัวอย่าง แล้วบันทึกไฟล์ชื่อ function_pass2.php การส่งผ่านค่าด้วยการอ้างอิง
Source Code:
ผลลัพธ์ที่ได้
อธิบายโปรแกรม
บรรทัดที่ 1 เปิดแท็กคำสั่งภาษาพีเอชพี
บรรทัดที่ 2 – 4 ประกาศการใช้ฟังก์ชัน foodprice($price,&$promotion) มีตัวแปร 2 ตัวคือ $price และ $promotion ซึ่งตัวแปร $promotion จะมีการส่งผ่านค่าด้วยการอ้างอิง โดยจะมีเครื่องหมาย & อยู่หน้าตัวแปร และคำสั่งภายในฟังก์ชัน มีการคำนวณค่า $promotion = ($price * $promotion)/100;
บรรทัดที่ 5 กำหนดตัวแปร price ให้มีค่า 800
บรรทัดที่ 6 กำหนดตัวแปร promotion ให้มีค่า 20
บรรทัดที่ 7 เรียกใช้ฟังก์ชัน foodprice($price,&$promotion)
บรรทัดที่ 8 ให้แสดงข้อความ Total Promotion และแสดงค่าตัวแปร promotion
บรรทัดที่ 9 ปิดแท็กคำสั่งภาษาพีเอชพี
กรณีผลลัพธ์ในตัวอย่างโปรแกรมที่ 5.18 มีการส่งผ่านค่าด้วยการอ้างอิง จะเห็นว่าค่าตัวแปร promotion จะมีการเปลี่ยนแปลงไปตามคำสั่งการคำนวณในฟังก์ชัน foodprice($price,&$promotion)
5.8.3 การส่งค่ากลับของฟังก์ชันด้วยคําสั่ง Return
ในการใช้งานฟังก์ชันนอกจากจะสามารถส่งผ่านค่าใดๆ ไปประมวลผลภายในฟังก์ชัน ได้แล้ว ยังสามารถคืนค่าใด ๆ กลับมายังส่วนที่เรียกใช้งานฟังก์ชันได้ โดยใช้คําสั่ง return ตาม ด้วยค่าที่ต้องการคืนกลับ และค่าที่คืนกลับจะถูกแทนที่ในตําแหน่งที่เรียกใช้ฟังก์ชัน
ตัวอย่างโปรแกรมที่ 5.19 โปรแกรมแสดงการส่งค่ากลับของฟังก์ชันด้วยคําสั่ง Return
เขียนคําสั่งโปรแกรมภาษาพีเอชพี ตามตัวอย่าง แล้วบันทึกไฟล์ชื่อ Test_Return.php
Source Code:
ผลลัพธ์ที่ได้
อธิบายโปรแกรม
บรรทัดที่ 1 เปิดแท็กคำสั่งภาษาพีเอชพี
บรรทัดที่ 2 – 6 ประกาศการใช้ฟังก์ชัน cal_rectangle($width,$long) มีตัวแปร 2 ตัวคือ $ width และ $ long ซึ่งคำสั่งการทำงานภายในฟังก์ชัน คือ การนำตัวแปร $width คูณกับค่าตัวแปร $long แล้วเก็บค่าไว้ในตัวแปร $area_rectangle และมีการส่งค่าคืนกลับไปที่ฟังก์ชัน
บรรทัดที่ 7 ให้แสดงข้อความ "สี่เหลี่ยมผืนผ้ามีความกว้าง = 15 หน่วยและความยาว = 5 หน่วย" และให้ขึ้นบรรทัดใหม่
บรรทัดที่ 8 ให้แสดงข้อความ "สี่เหลี่ยมผืนผ้ารูปนี้จะมีพื้นที่ (กว้าง x ยาว) =" เชื่อมต่อกับค่าจากการเรียกใช้ฟังก์ชัน cal_rectangle($width,$long)
บรรทัดที่ 9 ปิดแท็กคำสั่งภาษาพีเอชพี