es6中的 ... 和php中的 ...
es6
读取时是拆包动作
let a = [1, 2, 3]
let [x, y, z] = [...a]
//x, y, z: 1, 2, 3
写入时是打包动作
let [a, ...b] = [1, 2, 3]
//a, b: 1, [2, 3]
function f(a, ...rest) {
console.log(a, rest)
}
f(1, 2, 3)
//1, [2, 3]
php
与es6类似,但只能用在函数参数中
函数定义:
function test(...$args) {
var_dump($args); //$args是数组
}
test(1, 2, 3);
函数调用:
$a = [1, 2, 3];
test(...$a); //$a将被展开
评论