PHP ...语法糖的应用

...语法糖是在PHP5.6中出现的新特性,可以表示变长参数,主要有2中应用方式

1. 定义函数参数

<?php
function f($req, $opt = null, ...$params) {
    // $params 是一个包含了剩余参数的数组
    printf('$req: %d; $opt: %d; number of params: %d'."\n",
           $req, $opt, count($params));
}

f(1); // $req: 1; $opt: 0; number of params: 0
f(1, 2); // $req: 1; $opt: 2; number of params: 0
f(1, 2, 3); // $req: 1; $opt: 2; number of params: 1
f(1, 2, 3, 4); // $req: 1; $opt: 2; number of params: 2
f(1, 2, 3, 4, 5); // $req: 1; $opt: 2; number of params: 3
?>

2. 函数参数较多时,通过一个变量传入

<?php
function add($a, $b, $c) {
    return $a + $b + $c;
}

$operators = [2, 3];
echo add(1, ...$operators); // 6
?>

个人理解

...的语法糖在编写框架时使用较多,平时项目代码中很少使用,在平时在项目中定义函数时最好还是把每个参数的含义定义清晰,避免让调用者产生歧义。

参考

posted @ 2022-04-09 07:46  whyly  阅读(87)  评论(0编辑  收藏  举报