在 PHP 8 中,自定義函數(function,簡稱自定函數)是用來封裝可以重複使用的程式碼段,讓程式碼更具結構性和可讀性,而且可以自己建立一個具有專屬功能的函數,以下是關於 PHP 8 自訂函數的詳細介紹及其使用方法。
1. 定義基本函數
在 PHP 中,函數使用 function 關鍵字來定義,以下是一個簡單的例子:
<?php
function sayHello() {
echo "Hello, world!";
}
sayHello(); // 輸出: Hello, world!
?>
2. 帶參數的函數
你可以定義帶有參數的函數,並在函數內使用這些參數:
<?php
function greet($name) {
echo "Hello, $name!";
}
greet("Alice"); // 輸出: Hello, Alice!
?>
3. 帶預設值的參數
你可以為參數設定預設值,如果在呼叫函數時未傳遞該參數,將使用預設值:
<?php
function greet($name = "Guest") {
echo "Hello, $name!";
}
greet(); // 輸出: Hello, Guest!
greet("Bob"); // 輸出: Hello, Bob!
?>
4. 帶回傳值的函數
函數可以回傳值,使用 return 關鍵字:
<?php
function add($a, $b) {
return $a + $b;
}
$result = add(3, 4); // $result 變數現在包含 7
echo $result; // 輸出: 7
?>
5. 可變參數函數
PHP 8 支援可變參數函數,可以處理不定數量的參數:
<?php
function sum(...$numbers) {
return array_sum($numbers);
}
echo sum(1, 2, 3, 4); // 輸出: 10
?>
6. 具名參數
PHP 8 導入了具名參數,允許在呼叫函數時使用參數名稱進行傳遞:
<?php
function createUser($name, $age, $email) {
echo "Name: $name, Age: $age, Email: $email";
}
createUser(age: 25, name: "John", email: "john@example.com");
// 輸出: Name: John, Age: 25, Email: john@example.com
?>
7. 型別宣告
PHP 8 支援更嚴格的型別宣告,可以為參數和回傳值指定型別:
<?php
function multiply(float $a, float $b): float {
return $a * $b;
}
echo multiply(2.5, 4.2); // 輸出: 10.5
?>
這些例子展示了 PHP 8 中自定義函數的基本用法和一些新特性,透過使用這些功能,你可以撰寫更具結構性和可維護性的程式碼。
延伸閱讀