oblind

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将被展开

评论