สร้างฟังก์ชันของคุณเองด้วยพารามิเตอร์ที่ระบุชนิด ค่าเริ่มต้น และค่าที่คืนกลับมา
เปิดบทเรียนนี้ใน Kodokonฟังก์ชัน (function) คือบล็อกคำสั่งที่คุณตั้งชื่อให้ เพื่อนำกลับมาใช้ซ้ำได้บ่อยเท่าที่ต้องการด้วยการ เรียก (call) ง่าย ๆ เขียนครั้งเดียว ใช้ได้ทุกที่ นั่นคือหลักการ คุณประกาศมันด้วยคำสงวน function ตามด้วยชื่อ วงเล็บ และบล็อกในวงเล็บปีกกา เครื่องหมาย : void หลังวงเล็บบอกว่าฟังก์ชันไม่คืนค่าใด ๆ มันเพียงแค่ทำงาน
<?php
function sayHello(): void
{
echo "Hello and welcome!<br>";
}
sayHello();
sayHello();วงเล็บบรรจุ พารามิเตอร์ (parameter) คือตัวแปรที่ฟังก์ชันรับในการเรียกแต่ละครั้ง ส่วนค่าจริงที่ส่งเข้าไปตอนเรียกเรียกว่า อาร์กิวเมนต์ (argument) ใน PHP สมัยใหม่ คุณ ระบุชนิด ให้พารามิเตอร์แต่ละตัว (float $price) และค่าที่คืนกลับมา (: float หลังวงเล็บ) จากนั้น PHP จะปฏิเสธค่าที่ผิดชนิด ซึ่งช่วยป้องกันบั๊กได้มากมาย คำสั่ง return ส่งผลลัพธ์กลับไปยังจุดที่เรียก และหยุดฟังก์ชันทันที
<?php
function addTax(float $price): float
{
return $price * 1.2;
}
echo addTax(100);
echo "<br>";
echo addTax(50);พารามิเตอร์สามารถรับ ค่าเริ่มต้น (default value) ได้ด้วย = หากการเรียกไม่ได้ส่งอาร์กิวเมนต์ให้พารามิเตอร์นั้น ค่าเริ่มต้นจะเข้ามาแทน กฎทองคือ พารามิเตอร์ที่มีค่าเริ่มต้นต้องอยู่ หลัง พารามิเตอร์ที่จำเป็น
<?php
function greet(
string $name,
string $greeting = "Hello"
): string {
return "{$greeting}, {$name}!";
}
echo greet("Awa");
echo "<br>";
echo greet("Awa", "Good evening");<?php
function totalPrice(
float $unitPrice,
int $quantity = 1
): float {
return $unitPrice * $quantity;
}
echo totalPrice(19.9, 3);
echo "<br>";
echo totalPrice(8.5);deffunctionfuncreturn ทำอะไร?function greet(string $name, string $greeting = "Hello") ค่าของ $greeting คืออะไรถ้าคุณเรียก greet("Awa")?null