📅  最后修改于: 2023-12-03 15:18:19.156000             🧑  作者: Mango
在 PHP 7.1 中引入了一个新的特性,即函数参数带有 ?
符号,用于表示函数参数可以接受 NULL
值作为默认值。这个特性也被称为 "可为空的类型声明",它增强了函数参数的灵活性。
使用 ?
符号来表示可为空的参数类型,可以在函数定义中指定默认值为 NULL
,以使函数能够接受未提供参数值或者传入 NULL
参数值的情况。
下面是使用 ?
符号来表示可为空的参数类型的语法:
function functionName(?type $parameter = null) {
// 函数体
}
functionName
:函数名type
:指定参数的数据类型$parameter
:参数名称= null
:指定参数的默认值为 NULL
让我们来看一个示例,说明如何使用可为空的参数类型:
function greet(?string $name = null) {
if ($name === null) {
echo "Hello, anonymous!";
} else {
echo "Hello, " . $name . "!";
}
}
greet(); // 输出: Hello, anonymous!
greet("Alice"); // 输出: Hello, Alice!
greet(null); // 输出: Hello, anonymous!
在上述示例中,greet()
函数可以接受一个可为空的字符串参数 $name
,如果未提供参数值或者传入 null
,则默认值为 null
,并输出 "Hello, anonymous!",否则将参数值与 "Hello, " 连接起来并输出。
这就是 PHP 7.1 中函数参数带有 ?
符号的介绍。这个特性使得函数参数更具灵活性,可以轻松处理接受 NULL
值作为参数值的情况。在编写 PHP 7.1 或更高版本的代码时,可以充分利用这个特性来提高代码的可读性和健壮性。