默认参数应放在参数列表右侧,支持标量、数组、null及PHP 8.1+的枚举;用于配置、工具函数等场景,提升灵活性与兼容性。

在PHP中,为函数参数设置默认值是一种常见且实用的做法,它能让函数调用更灵活,减少重复代码。只要在定义函数时给参数赋值,就能实现默认参数。
基本语法:直接赋值
在声明函数时,使用 = 为参数指定默认值:
function sayHello($name = "Guest") {echo "Hello, $name!";
}
sayHello(); // 输出:Hello, Guest
sayHello("Alice"); // 输出:Hello, Alice
注意事项与技巧
虽然设置默认参数很简单,但有几个关键点需要注意,避免出错:
- 默认参数放在右边:有默认值的参数必须放在没有默认值的参数之后。否则会报错。 // 错误写法
- 支持的数据类型:PHP允许标量(如字符串、数字)、数组、null等作为默认值。从PHP 8.1开始,还支持枚举作为默认值。 function config($options = ['debug' => false], $level = 1) {
- null作为占位符:如果想跳过某个参数,可以设默认值为null,在函数内部判断是否传入。 function connect($host = 'localhost', $port = null) {
function example($a = 1, $b) { } // 会报错
// 正确写法
function example($b, $a = 1) { } // 没问题
// ...
}
if ($port === null) {
$port = 80;
}
}
实际应用场景
合理使用默认参数能提升代码可读性和易用性:
立即学习“PHP免费学习笔记(深入)”;
- 配置函数:提供常用默认选项,减少调用时的输入。
- 工具函数:比如日志记录函数,默认记录级别为info。
- 兼容旧代码:新增参数时设默认值,不影响已有调用。
基本上就这些。只要记住参数顺序和类型限制,PHP的默认参数用起来很顺手。不复杂但容易忽略细节。











