PHP 展开运算符 (...) 使用笔记

具体应该会有小版本的差别,官方说的7.0就出了,但是 我这边phpstorm 提醒7,4以后才能用,具体还得查查相关资料

1. 概述

PHP 的展开运算符(...)是从 PHP 7.0 版本开始引入的功能。它允许在函数调用和数组定义中展开数组,使得代码更加简洁和易读。

2. 展开运算符的基本用法

2.1 函数调用中的展开运算符

在函数调用中,展开运算符可以将一个数组展开为函数的参数列表。

示例
php 复制代码
function sum(...$numbers) {
    return array_sum($numbers);
}

// 使用展开运算符传递数组
$values = [1, 2, 3, 4];
echo sum(...$values); // 输出 10

2.2 数组定义中的展开运算符

在数组定义中,展开运算符可以将一个数组的内容展开到另一个数组中。

示例
php 复制代码
$array1 = [1, 2, 3];
$array2 = [...$array1, 4, 5, 6];

print_r($array2);
// 输出: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )

3. 高级用法

3.1 结合默认参数

展开运算符可以与函数的默认参数结合使用,使得函数调用更加灵活。

示例
php 复制代码
function greet($name, ...$greetings) {
    foreach ($greetings as $greeting) {
        echo "$greeting, $name!\n";
    }
}

$messages = ['Hello', 'Hi', 'Welcome'];
greet('Alice', ...$messages);
// 输出: 
// Hello, Alice!
// Hi, Alice!
// Welcome, Alice!

3.2 嵌套展开

展开运算符可以嵌套使用,以处理更复杂的数据结构。

示例
php 复制代码
$array1 = [1, 2, 3];
$array2 = [4, 5];
$array3 = [...$array1, ...$array2, 6, 7];

print_r($array3);
// 输出: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 )

4. 注意事项

  • 兼容性: 展开运算符仅在 PHP 7.0 及以上版本中可用。
  • 性能: 虽然展开运算符使得代码更加简洁,但在处理大量数据时,需要注意其对性能的影响。

5. 总结

展开运算符(...)是 PHP 7.0 引入的一个强大功能,使得函数调用和数组操作更加简洁和灵活。通过合理使用展开运算符,可以显著提高代码的可读性和维护性。

相关推荐
Darker'K5 分钟前
泷羽sec-burp功能介绍(1) 学习笔记
笔记·学习
梭七y5 分钟前
记录学习《手动学习深度学习》这本书的笔记(二)
笔记·深度学习·学习
Darker'K11 分钟前
泷羽sec-shell(6)if条件判断与for循环结构 学习笔记
笔记·学习
若雨叶12 分钟前
parallelStream并行流使用踩坑,集合安全
java·开发语言·windows
hunandede1 小时前
avcodec_alloc_context3,avcodec_open2,avcodec_free_context,avcodec_close
java·开发语言
pk_xz1234561 小时前
Python爬虫
开发语言·爬虫·python
竣子好逑1 小时前
记错:NaN 不等于 NaN
开发语言·javascript·ecmascript
怀澈1222 小时前
【设计模式】工厂模式
java·开发语言·设计模式
五味香2 小时前
Java学习,反射
android·java·开发语言·python·学习·flutter·kotlin
qwe3526332 小时前
qt登录小界面制作
开发语言·python·qt