PHP 函数
函数是可复用的代码块,PHP 内置了大量函数,同时支持自定义函数。
定义与调用
PHP 实例
function greet(string $name): string { return "你好,$name!"; }`echo greet("张三"); // 你好,张三! ?> ``
参数默认值
php <?php function createUser(string $name, int $age = 18, string $role = 'user'): string { return "$name($age 岁)角色:$role"; }`echo createUser("李四"); // 李四(18 岁)角色:user echo createUser("王五", 25); // 王五(25 岁)角色:user echo createUser("赵六", 30, "admin"); // 赵六(30 岁)角色:admin ?>
`返回值类型声明
php <?php function add(int $a, int $b): int { return $a + $b; }`function divide(float $a, float $b): float|false { if ($b == 0) return false; return $a / $b; } ?>
`可变参数
php <?php function sum(int ...$nums): int { return array_sum($nums); }`echo sum(1, 2, 3, 4, 5); // 15 ?>
`引用传参
php <?php function addSuffix(string &$str, string $suffix): void { $str .= $suffix; }`$title = "PHP 教程"; addSuffix($title, " - 完整版"); echo $title; // PHP 教程 - 完整版 ?>
`匿名函数(闭包)
php <?php $multiply = function(int $a, int $b): int { return $a * $b; };`echo $multiply(3, 4); // 12
// 捕获外部变量 $prefix = "用户:"; $format = function(string $name) use ($prefix): string { return $prefix . $name; };
echo $format("张三"); // 用户:张三 ?>
`箭头函数(PHP 7.4+)
php <?php $double = fn($n) => $n * 2; echo $double(5); // 10`// 自动捕获外部变量 $tax = 0.1; $withTax = fn($price) => $price * (1 + $tax); echo $withTax(100); // 110 ?>
`递归函数
php <?php function factorial(int $n): int { if ($n <= 1) return 1; return $n * factorial($n - 1); }echo factorial(5); // 120
常用内置函数速查
| 类别 | 函数 | 说明 |
|---|---|---|
| 数学 | abs() | 绝对值 |
| 数学 | round() | 四舍五入 |
| 数学 | rand() | 随机数 |
| 字符串 | strlen() | 字符串长度 |
| 字符串 | str_replace() | 替换字符串 |
| 数组 | count() | 数组长度 |
| 数组 | array_map() | 映射处理 |
| 日期 | date() | 格式化日期 |
| 日期 | time()` | 当前时间戳 |