mirror of
https://github.com/php/php-src.git
synced 2024-09-30 22:36:12 +00:00
c4460dd162
${a()}[b()][c()] = d() will now evaluate in order a, b, c, d.
43 lines
482 B
PHP
43 lines
482 B
PHP
--TEST--
|
|
Evaluation order during assignments.
|
|
--FILE--
|
|
<?php
|
|
|
|
function i1() {
|
|
echo "i1\n";
|
|
return 1;
|
|
}
|
|
|
|
function i2() {
|
|
echo "i2\n";
|
|
return 1;
|
|
}
|
|
|
|
function i3() {
|
|
echo "i3\n";
|
|
return 3;
|
|
}
|
|
|
|
$a = array(10, 11, 12, 13);
|
|
list($a[i1()+i2()], , list($a[i3()], $a[])) = array(0, 1, array(30, 40), 3);
|
|
|
|
var_dump($a);
|
|
|
|
?>
|
|
--EXPECT--
|
|
i1
|
|
i2
|
|
i3
|
|
array(5) {
|
|
[0]=>
|
|
int(10)
|
|
[1]=>
|
|
int(11)
|
|
[2]=>
|
|
int(0)
|
|
[3]=>
|
|
int(30)
|
|
[4]=>
|
|
int(40)
|
|
}
|