PHP的三个点(…)在不同的场合下可以表示不同的含义,以下是一些常见的用法:
可变参数
在函数声明时,可以使用三个点表示可变参数(Variadic Parameters),也称作参数展开(Argument Unpacking):1
2
3
4
5
6
7
8
function foo(…$args) {
foreach ($args as $arg) {
echo $arg, ;
}
}
foo(1, 2, 3);
// 输出:1 2 3
这样定义的函数可以接受任意个数的参数,并将它们作为一个数组传递给函数体。
数组展开
在数组前面使用三个点可以将数组展开(Array Unpacking)为一连串的参数,可以在函数调用或数组合并时使用:1
2
3
4
5
6
7
$numbers = [1, 2, 3];
echo max(…$numbers); // 等同于 max(1, 2, 3)
$fruits = [apple, banana];
$food = […$fruits, mango, orange];
print_r($food);
// 输出:Array ( [0] => apple [1] => banana [2] => mango [3] => orange )
这样使用可以在不修改原数组的情况下,将已有的数组元素插入到函数或数组中。
对象展开
PHP 7.4 引入了新特性:在对象前面使用三个点可以将对象的公共属性展开为数组,例如:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Person {
public $name;
public $age;
public $gender;
public function __construct($name, $age, $gender) {
$this->name = $name;
$this->age = $age;
$this->gender = $gender;
}
}
$person = new Person(Tom, 32, male);
$personArray = [address => Beijing, …$person];
print_r($personArray);
// 输出:Array ( [address] => Beijing [name] => Tom [age] => 32 [gender] => male )
这种用法可以方便地将对象的属性转化为数组,更加易读且可复用。
总结:
三个点作为一个运算符,在不同的上下文中具有不同的解释,这让PHP的语法更加灵活和易用。学习并掌握三个点的用法,可以帮助我们更好地编写代码。以上就是php的三个点意思…的详细内容,更多请关注php中文网其它相关文章!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有佣金分成!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.77ym.top",如遇到无法解压的请联系管理员!
7. 本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
暂无评论内容