在 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 函数能够更具扩展性和灵活性,为开发者提供更强的代码复用能力。