3 ms·
It should because: $f = list($c, $d) = [1, 2]; does exactly as you describe and this is literally just a shorthand syntax for accessing list().
by meritt 10y ago
It should because:
$f = list($c, $d) = [1, 2];
does exactly as you describe and this is literally just a shorthand syntax for accessing list().
- ars 10y agoThanks. What about: $c = 2; $d = 3; $f = [$c, $d] = [1, 2]; Is $f: 2, 3 or 1, 2? I assume 1, 2 because if not then it's both an array constructor and destructurer at the same time which would be interesting. Plus: $f = $c = $d; is 3;
- claar 10y agoLet's break this up a bit, remembering that assignment is right-associative: $c = 2; # Assign 2 to $c $d = 3; # Assign 3 to $d [$c, $d] = [1, 2]; # Assign 1 to $c, assign 2 to $d $f = [$c, $d]; # Assign [1, 2] to $f