函数定义与参数
函数声明、参数/返回值类型声明(PHP7+)、默认参数、可变参数
函数定义与参数
PHP 函数从 7.0 开始支持类型声明,8.0 更进一步——命名参数、联合类型、mixed 类型。
学完本章你将: 掌握函数声明、类型声明、默认参数、可变参数。
基本函数
php
<?php
// 声明
function greet(string $name, string $prefix = "你好"): string {
return "$prefix,$name!";
}
echo greet("小明"); // 你好,小明!
echo greet("小红", "早上好"); // 早上好,小红!
// PHP 8.0 命名参数——跳过中间的默认参数
echo greet(prefix: "晚上好", name: "小刚");
类型声明
php
<?php
// 参数类型(PHP 7+)
function add(int $a, int $b): int {
return $a + $b;
}
// 联合类型(PHP 8+)
function format(int|string $value): string {
return (string)$value;
}
// mixed 类型(PHP 8+)—— 任意类型
function debug(mixed $value): void {
var_dump($value);
}
// 可为 null(PHP 7.1+)
function find(?int $id): ?string {
if ($id === null) return null;
return "found";
}
可变参数
php
<?php
// ... 展开运算符
function sum(int ...$nums): int {
return array_sum($nums);
}
echo sum(1, 2, 3, 4, 5); // 15
// 数组展开到参数
$args = [1, 2, 3];
echo sum(...$args); // 6