php 函数 实现
在 PHP 中,函数用于封装可重复使用的代码块,提高代码的模块化和可维护性。以下是实现 PHP 函数的几种常见方式:
基本函数定义
使用 function 关键字定义函数,后跟函数名和参数列表。函数体用花括号 {} 包裹。
function greet($name) {
return "Hello, " . $name;
}
echo greet("World"); // 输出: Hello, World
带默认参数的函数
可以为参数指定默认值,调用时若不传递该参数则使用默认值。
function greet($name = "Guest") {
return "Hello, " . $name;
}
echo greet(); // 输出: Hello, Guest
可变参数函数
使用 ... 语法实现可变参数,参数以数组形式传递。
function sum(...$numbers) {
$total = 0;
foreach ($numbers as $num) {
$total += $num;
}
return $total;
}
echo sum(1, 2, 3); // 输出: 6
匿名函数(闭包)
匿名函数没有名称,通常赋值给变量或作为回调使用。
$greet = function($name) {
return "Hello, " . $name;
};
echo $greet("PHP"); // 输出: Hello, PHP
箭头函数(PHP 7.4+)
箭头函数是匿名函数的简写形式,自动捕获父作用域变量。
$factor = 2;
$multiplier = fn($x) => $x * $factor;
echo $multiplier(5); // 输出: 10
递归函数
函数调用自身,适用于分治或迭代问题。
function factorial($n) {
return ($n <= 1) ? 1 : $n * factorial($n - 1);
}
echo factorial(5); // 输出: 120
类型声明(PHP 7+)
为参数和返回值添加类型声明,增强代码健壮性。
function add(int $a, int $b): int {
return $a + $b;
}
echo add(2, 3); // 输出: 5
生成器函数(yield)
使用 yield 实现惰性计算,节省内存。
function generateNumbers($max) {
for ($i = 1; $i <= $max; $i++) {
yield $i;
}
}
foreach (generateNumbers(5) as $number) {
echo $number; // 输出: 12345
}






