通过设置默认参数可使php函数更灵活,定义时用等号赋值,如function greet($name = “Guest”),默认参数需位于非默认参数之后,支持数组和标量类型,但不支持表达式或函数调用,确保可选参数在参数列表末尾以避免语法错误。

如果您在编写php函数时希望某些参数在未传值时使用预设的值,可以通过设置默认参数来实现这一功能。这种方式能提高函数的灵活性和可重用性。
本文运行环境:macBook Pro,macOS Sonoma
一、定义带有默认参数的函数
在声明函数时,可以直接为参数指定一个默认值,当调用函数时未传递该参数,就会使用这个默认值。默认参数必须放在非默认参数之后。
1、使用等号(=)为参数赋默认值,例如:function greet($name = “Guest”)。
立即学习“PHP免费学习笔记(深入)”;
2、在函数体内正常使用该参数,若调用时未传值,则自动采用设定的默认值。
3、调用函数时不传参或只传部分参数,验证默认值是否生效。
二、使用复杂类型作为默认参数
PHP允许数组和标量类型作为默认参数值,但不支持表达式或变量直接作为默认值。
1、设置数组类型的默认值,例如:function logData($data = [])。
2、设置字符串、整数、布尔等基本类型的默认值,如:function setOption($flag = true)。
3、注意不能使用动态表达式如 time() 或其他函数调用作为默认值。
三、处理可选参数的位置顺序
默认参数必须定义在必传参数之后,否则会导致解析错误。
1、确保所有带默认值的参数位于参数列表的末尾。
2、例如正确写法:function connect($host, $port = 80)。
3、避免将默认参数放在必需参数之前,这会引发语法错误。


