Specifying Keys
in list()
Prior to PHP 7.1, the list()
statement for unpacking
array elements into variables only supported arrays with numbered
keys starting from zero.
PHP 7.1 adds the ability to specify keys when unpacking array
elements into variables. In the example shown below, we first
construct an array with the keys first
,
second
, and third
. We then unpack this
array and store the value of $data['first']
in the
variable $a
, the value of $data['second']
in the variable $b
, and the value of
$data['third']
in the variable $c
:
$data = [
'first' => 'foo',
'second' => 'bar',
'third' => 'barbara'
];
[
'first' => $a,
'second' => $b,
'third' => $c
] = $data;
var_dump($a, $b, $c);
Executing the example shown above with PHP 7.1 will print the output shown below:
string(3) "foo"
string(3) "bar"
string(7) "barbara"
Any expression, including constants and variables, can be used to specify a key.