在 PHP 中是否有用于初始化关联数组或对象的 shorthand 表示法,就像在 ES2015 中引入 JavaScript 的那样?

Is there a shorthand notation for initialising associative arrays or objects in PHP, like the one introduced to JavaScript with ES2015?

随着ES2015,a shorthand notation for object initialisation

的形式引入JS
let a = 'foo', b = 'bar', c = 'baz';
let o = {a, b, c};

// result:
{ a: "foo", b: "bar", c: "baz" }

我想知道 PHP7 中是否有类似的东西,所以如果我有变量 $a$b$c,我会得到一个关联键对应变量名,值对应变量值的数组:

$a = 'foo'; $b = 'bar'; $c = 'baz';
// $o = ????

// expected result equal to
array('a' => $a, 'b' => $b, 'c' => $c)

正如您在 JS 中所做的那样,您可以通过数组中的名称收集所有变量并执行 compact():

$a = 'foo'; $b = 'bar'; $c = 'baz';

$ar=['a','b','c'];
print_r(compact($ar));

输出:

Array
(
    [a] => foo
    [b] => bar
    [c] => baz
)

或者也compact('a', 'b', 'c');

Demo