การสร้างเเละใช้งานฟังก์ชั่นในภาษา PHP

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderator: mindphp, ผู้ดูแลกระดาน

pataponnew
PHP Hero Member
PHP Hero Member
โพสต์: 152
ลงทะเบียนเมื่อ: 03/05/2021 10:18 am

การสร้างเเละใช้งานฟังก์ชั่นในภาษา PHP

โพสต์ที่ยังไม่ได้อ่าน โดย pataponnew »

การสร้างฟังก์ชันขึ้นมาใช้งานเอง เพื่อลดขั้นตอนการเขียนโค้ดที่ซ้ำช้อนกัน ถือเป็นพื้นฐานที่สำคัญอย่างหนึ่งของ PHP ที่อาจ
ต้องใช้งานร่วมกันกับสิ่งต่างๆในภาษา PHP ยกตัวอย่างเช่น การสร้างฟังก์ชั่นในการหาพื้นที่ของวงกลม
ซึ่งปกติการหาพื้นที่ของวงกลมคือ πr² ถ้าเราจะหาพื้นที่เราจะต้องเขียนรูปแบบโอเปอเรเตอร์ อย่างเช่น (22/7)(r)(r) ซึ่งถ้าต้องการใช้งานหลายรอบเราจะต้องเขียนโค้ดซ้ำซ้อนหลายรอบมาก เราก็จะสร้างฟังก์ชั่นขึ้นมาหาค่าพื้นที่ของวงกลม โดยเวลาต้องการหาค่าก็เเค่เรียกใช้ฟังก์ชั่นเท่านั้น

ฟังก์ชัน (Function) เป็นวิธีในการกระทำอย่างใดอย่างหนึ่ง เช่น การแสดงผล หรือการคำนวณหาผลลัพธ์
บางอย่าง เป็นต้น โดยส่วนใหญ่มักเป็นสิ่งที่ต้องทำซ้ำซ้อนกัน ซึ่งเราแบ่งฟังก์ชันออกเป็น 2 ลักษณะคือ

Pre-defined Function เป็นฟังก์ชันของ PHP เอง จึงสามารถนำมาใช้งานได้ทันที เช่น ฟังก์ชันเกี่ยวกับสตริง ตัวเลข วันเวลา เป็นต้น โดยใน PHP
นั้นมีฟังก์ชันประเภทนี้เป็นจำนวนมาก

User-defined Function เป็นฟังก์ชันที่เราสร้างขึ้นมาใช้เองสำหรับงานบางอย่าง ซึ่ง
เป็นสิ่งที่ต้องทำซ้ำกันอยู่บ่อยๆ ครั้ง

การสร้างฟังก์ชัน
การสร้างฟังก์ชันในภาษา PHP จะใช้คำสั่ง function ตามด้วยชื่อฟังก์ชัน และกำหนดคำสั่งต่างๆ
ดังรูปแบบต่อไปนี้

โค้ด: เลือกทั้งหมด

function ชื่อฟังก์ชั่น(พารามิเตอร์){
//การทำงานในฟังก์ชั่น
}
ชื่อฟังก์ชัน มีหลักเกณฑ์คล้ายกับการตั้งชื่อตัวแปร
พารามิเตอร์ (Parameter) เป็นข้อมูลที่เราต้องการรับจากภายนอกเข้ามาประมวลผลภายในฟังก์ชัน
แต่จะมีหรือไม่ก็ได้ขึ้นกับว่าจำเป็นต้องใช้หรือไม่ โดยลักษณะพื้นฐานของพารามิเตอร์คือ
-พารามิเตอร์ก็คือตัวแปรอีกแบบหนึ่ง ดังนั้น การกำหนดชื่อพารามิเตอร์ก็ใช้หลักการเดียวกับการตั้งชื่อตัวแปร
-ถ้ามีพารามิเตอร์มากกว่า 1 ตัว ก็ให้คั่นแต่ละตัวด้วยเครื่องหมาย ,
-เราสามารถนำพารามิเตอร์มาใช้งานภายในฟังก์ชัน เหมือนกับตัวแปรทั่วไป

แนวทางการสร้างฟังก์ชัน เช่น

โค้ด: เลือกทั้งหมด

<?php 
function welcome() {
  echo "Welcome\n";
}

function hello($name) {
  echo "Hello $name!\n";
}

function add_number($a, $b) {
  $sum = $a + $b;
  echo "$a + $b = $sum\n";
}
echo welcome();
echo hello("new");
echo add_number(1,2);
?>

จากโค้ดจะมีการเรียกใช้ฟังก์ชั่นต่างๆที่กำหนด
ผลลัพธ์ที่ได้คือ
การใช้งานฟังก์ชั่น
การใช้งานฟังก์ชั่น
bandicam 2021-06-09 14-47-13-585.jpg (6.55 KiB) Viewed 1211 times
การเรียกใช้ฟังก์ชั่นที่เราสร้างขึ้นเองก็ทำเช่นเดียวกับการเรียกใช้ฟังก์ชันของ PHP คือต้องระบุชื่อฟังก์ชั่นพร้อมกับข้อมูลที่จะส่งให้กับมันถ้ามีการส่งค่า

โค้ด: เลือกทั้งหมด

add_number(1,2);//ใส่ค่าพารามิเตอร์ลงไป
ใน PHP เราสามารถอ้างถึงฟังก์ชั่นด้วยลักษณะตัวพิมพ์ที่ต่างไปจากตอนสร้างฟังก์ชันได้ ซึ่งเเตกต่างจากการอ้างถึงตัวเเปรที่ต้องเขียนด้วยตัวพิมพ์เเบบเดียวกัน เช่น

โค้ด: เลือกทั้งหมด

add_number(1,2);
ADD_number(1,2);
add_NUMBER(1,2);
หากเป็นฟังก์ชั่นที่ต้องทำงานหลายๆเพจ เราอาจเเยกไฟล์ไปสร้างไว้ที่ไฟล์ภายนอก เเล้วเมื่อต้องการเรียกใช้งานที่เพจใด ก็ให้นำเข้าไฟล์นั้นเข้ามาด้วยฟังก์ชัน include() หรือ require() ดังตัวอย่างที่บทความ การเรียกไฟล์อื่นเข้ามาใช้งานในภาษา PHP

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

โค้ด: เลือกทั้งหมด

return ค่าที่จะส่งกลับ;
ค่าที่จะส่งกลับนั้น อาจเป็นค่าจากตัวแปร หรือการกระทำที่ก่อให้เกิดผลลัพธ์บางอย่าง เช่น

โค้ด: เลือกทั้งหมด

return $sum; //ส่งค่าที่อยู่ในตัวแปร $sum กลับออกไป
return $width * $height; //ส่งผลลัพธ์จากการคำนวณกลับออกไป
โดยปกติแล้วการส่งข้อมูลกลับจะต้องทำที่ส่วนท้ายสุดของฟังก์ชัน หรือเป็นคำสั่งสุดท้ายของฟังก์ชัน
นั่นเอง เพราะคำสั่งที่อยู่หลัง return จะไม่ถูกดำเนินการ
ถ้าฟังก์ชันใดมีผลลัพธ์กลับคืนมา หากเราต้องการนำข้อมูลนั้นไปใช้งานอย่างอื่น ต้องกำหนดตัวแปรเพื่อ
รับค่าดังกล่าว หรืออาจเรียกฟังก์ชัน ณ ตำแหน่งที่จะใช้ข้อมูลนั้นเลยก็ได้

ฟังก์ชั่น ในภาษา PHP เป็นตัวช่วยในการลดความซ้ำซ้อนในการเขียนโค้ด เเละยังช่วยให้อำนวยความสะดวกในการเขียนโค้ดอีกด้วยซึ่งในภาษา PHP จะมีตัวฟังก์ชั่นในไลป์บรารีให้เราเลือกใช้อยู่หลายอย่างเลยครับ
อ้างอิง
https://www.codebee.co.th/labs/%E0%B8%A3%E0%B8%A7%E0%B8%A1-php-utils-%E0%B8%9F%E0%B8%B1%E0%B8%87%E0%B8%81%E0%B9%8C%E0%B8%8A%E0%B8%B1%E0%B9%88%E0%B8%99%E0%B8%AD%E0%B8%A3%E0%B8%A3%E0%B8%96%E0%B8%9B%E0%B8%A3%E0%B8%B0%E0%B9%82%E0%B8%A2/
https://ai-no-tsubasa.blogspot.com/2016/12/php-function.html
https://www.login.in.th/index.php?rp=/knowledgebase/37/PHP---String-Functions.html

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 39