卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章75012本站已运行4310

PHP 函数中变量类型的扩展特性是什么?

php函数支持变量类型扩展特性,为参数提供额外的类型信息。扩展特性类型包括:null:允许变量为null。callable:允许变量为可调用对象或函数。iterable:允许变量为可迭代对象(如数组)。array-key:仅适用于数组键,允许键为标量或null。

PHP 函数中变量类型的扩展特性是什么?

PHP 函数中的变量类型扩展特性

PHP 函数允许在变量类型声明后使用扩展特性,这可以提供额外的类型提示信息,从而提高代码可读性和可维护性。

扩展特性的类型

立即学习“PHP免费学习笔记(深入)”;

  • null:允许该变量为 NULL。
  • callable:允许该变量为可调用对象或函数。
  • iterable:允许该变量为可迭代对象(例如数组或对象)。
  • array-key:仅适用于数组键,允许键为标量或 NULL。

语法

functionName(type $parameterName, type $parameterNameWithExtends = null/callable/iterable/[...]): returnType

实战案例

考虑一个函数 greetUser($name, $age = NULL)。$name 参数被声明为字符串类型,$age 参数被声明为字符串类型或 NULL。

function greetUser(string $name, string|null $age = NULL): string
{
    if (isset($age)) {
        return "Hello, $name, you are $age years old.";
    } else {
        return "Hello, $name.";
    }
}

echo greetUser("John", 30); // 输出:Hello, John, you are 30 years old.
echo greetUser("Mary"); // 输出:Hello, Mary.

当将可迭代类型扩展用于数组参数时,可以确保该参数是一个数组。

function sumArray(iterable $numbers): int
{
    $sum = 0;
    foreach ($numbers as $number) {
        $sum += $number;
    }
    return $sum;
}

$numbers = [1, 2, 3, 4, 5];
echo sumArray($numbers); // 输出:15

注意:

  • 扩展特性仅用于类型注释,不会影响实际代码的运行方式。
  • 可将扩展特性与其他类型提示(例如联合类型、交叉类型)结合使用。
卓越飞翔博客
上一篇: golang框架分布式部署架构与实现
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏