Dev to webs {Coding…}

เรียนรู้การพัฒนาซอฟเวอร์ เพื่อความรู้ที่ยั่งยืน

บทที่ 9: การสร้างและใช้งานฟังก์ชัน

1. ฟังก์ชันใน PHP คืออะไร

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

2. การสร้างฟังก์ชันใน PHP

การสร้างฟังก์ชันใน PHP ใช้คำสั่ง function ตามด้วยชื่อฟังก์ชันและกลุ่มของคำสั่งภายในบล็อก {}

รูปแบบการสร้างฟังก์ชัน

function ชื่อฟังก์ชัน() {
    // คำสั่งที่ต้องการให้ฟังก์ชันทำงาน
}

ตัวอย่างการสร้างฟังก์ชัน

<?php
function sayHello() {
    echo "สวัสดี!";
}
?>

ฟังก์ชัน sayHello นี้จะทำการแสดงข้อความ “สวัสดี!” ทุกครั้งที่เรียกใช้

3. การเรียกใช้งานฟังก์ชัน

หลังจากสร้างฟังก์ชันแล้ว สามารถเรียกใช้งานฟังก์ชันได้โดยใช้ชื่อฟังก์ชันตามด้วยวงเล็บ () เช่น

<?php
sayHello();
?>

ผลลัพธ์จะเป็น:

สวัสดี!

4. ฟังก์ชันที่มีพารามิเตอร์ (Parameters)

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

ตัวอย่างการสร้างฟังก์ชันที่มีพารามิเตอร์

<?php
function greet($name) {
    echo "สวัสดี, $name!";
}

greet("สมชาย");
?>

ในตัวอย่างนี้ ฟังก์ชัน greet จะรับพารามิเตอร์ $name และใช้ในการแสดงข้อความ ผลลัพธ์ที่ได้คือ:

สวัสดี, สมชาย!

การใช้พารามิเตอร์หลายตัว

สามารถกำหนดพารามิเตอร์ได้หลายตัวโดยคั่นด้วยเครื่องหมายจุลภาค ,

<?php
function calculateTotal($price, $quantity) {
    $total = $price * $quantity;
    echo "ยอดรวมคือ: $total บาท";
}

calculateTotal(100, 5);  // ผลลัพธ์คือ: ยอดรวมคือ: 500 บาท
?>

5. ฟังก์ชันที่มีค่าคืนกลับ (Return)

ฟังก์ชันสามารถส่งค่าคืนกลับไปยังผู้เรียกใช้ได้โดยใช้คำสั่ง return เพื่อให้ฟังก์ชันส่งค่าผลลัพธ์ไปยังที่เรียกใช้ฟังก์ชัน ซึ่งสามารถนำค่าที่คืนกลับไปใช้ในโปรแกรมได้

ตัวอย่างการใช้ return ในฟังก์ชัน

<?php
function add($x, $y) {
    return $x + $y;
}

$result = add(10, 15);
echo "ผลรวมคือ: $result";
?>

ในตัวอย่างนี้ ฟังก์ชัน add จะรับค่า $x และ $y มาทำการบวกกันแล้วคืนค่าผลลัพธ์ ผลลัพธ์ที่ได้คือ:

ผลรวมคือ: 25

6. การใช้ Default Parameters ในฟังก์ชัน

ใน PHP สามารถกำหนดค่าพารามิเตอร์เริ่มต้นให้กับฟังก์ชันได้ (Default Parameters) ซึ่งหากไม่มีการส่งค่าเข้ามา ฟังก์ชันจะใช้ค่าที่กำหนดไว้เป็นค่าเริ่มต้น

ตัวอย่าง Default Parameters

<?php
function greet($name = "ผู้เยี่ยมชม") {
    echo "สวัสดี, $name!";
}

greet();          // ผลลัพธ์: สวัสดี, ผู้เยี่ยมชม!
greet("สมชาย");  // ผลลัพธ์: สวัสดี, สมชาย!
?>

7. การใช้งานฟังก์ชันในโปรเจกต์จริง

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

7.1 การสร้างฟังก์ชันคำนวณภาษี

ฟังก์ชันนี้จะช่วยให้สามารถคำนวณภาษีได้ตามเปอร์เซ็นต์ที่กำหนด

<?php
function calculateTax($amount, $taxRate = 0.07) {
    return $amount * $taxRate;
}

$amount = 1000;
$tax = calculateTax($amount);
echo "ภาษีที่ต้องจ่าย: $tax บาท";
?>

ในตัวอย่างนี้ ฟังก์ชัน calculateTax จะคำนวณภาษีจากยอดที่ส่งเข้ามา โดยใช้ค่าเริ่มต้นของภาษี 7% (0.07)

7.2 การสร้างฟังก์ชันตรวจสอบสถานะผู้ใช้

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

<?php
function checkUserRole($role) {
    if ($role == "admin") {
        return "คุณเป็นผู้ดูแลระบบ";
    } else {
        return "คุณเป็นผู้ใช้ทั่วไป";
    }
}

echo checkUserRole("admin");     // ผลลัพธ์: คุณเป็นผู้ดูแลระบบ
echo checkUserRole("user");      // ผลลัพธ์: คุณเป็นผู้ใช้ทั่วไป
?>

8. ข้อดีของการใช้ฟังก์ชัน

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

9. บทสรุป

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


Comments

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *