在PHP 開發中,函數的參數設計非常靈活,其中兩個特殊參數尤為常見:可變數量參數...$var與回調函數callable 。它們分別用於處理不定數量的參數以及在函數中傳遞可執行的回調邏輯。
可變數量參數允許一個函數接收任意數量的參數,並將這些參數自動存儲為數組。這樣開發者無需預先定義具體參數個數,在處理類似累加、聚合時非常方便。
<?php function sum(...$numbers) { $total = 0; foreach ($numbers as $number) { $total += $number; } return $total; } echo sum(1, 2, 3, 4, 5); // 輸出: 15 ?>
在上面的示例中,函數sum使用了可變參數...$numbers ,可以一次性接收多個數字併計算總和。
回調函數參數callable允許函數接收一個函數作為參數,並在需要時調用它。通常用於過濾、排序或自定義處理邏輯的場景。
<?php function filterArray(array $array, callable $callback) { $filteredArray = []; foreach ($array as $element) { if ($callback($element)) { $filteredArray[] = $element; } } return $filteredArray; } $callback = function ($value) { return $value > 10; }; $filteredArray = filterArray([1, 2, 10, 15, 20], $callback); print_r($filteredArray); // 輸出: [15, 20] ?>
這裡的filterArray函數接收一個數組和一個回調函數,回調函數用於判斷數組元素是否滿足條件,從而實現靈活的過濾操作。
通過合理使用這兩類參數,PHP 函數能夠更具擴展性和靈活性,為開發者提供更強的代碼復用能力。