} function i4() { echo "i4\n"; return 0; } function i5() { echo "i5\n"; return 0; } function i6() { echo "i6\n"; return 0; } $a = array(array(0)); $b = array(array(1)); $c = array(array(2)); $a[i1()][i2()] = $b[i3()][i4()] = $c[i5()][i6()]; var_dump($a); var_dump($b); var_dump($c); $a[i1()][i2()] = $b[i3()][i4()] = -$c[i5()][i6()]; var_dump($a); var_dump($b); var_dump($c); $a[i1()][i2()] = -($b[i3()][i4()] = +$c[i5()][i6()]); var_dump($a); var_dump($b); var_dump($c);
<?php function i1() { echo "i1\n"; return 1; } function i2() { echo "i2\n"; return 1; } function i3() { echo "i3\n"; return 3; } function i4() { global $a; $a = array(10, 11, 12, 13, 14); echo "i4\n"; return 4; } $a = 0; // $a should not be indexable till the i4 has been executed list($a[i1() + i2()], , list($a[i3()], $a[i4()]), $a[]) = array(0, 1, array(30, 40), 3, 4); var_dump($a);
<?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);
{ echo "i2\n"; return 0; } function i3() { echo "i3\n"; return 0; } function i4() { echo "i4\n"; return 0; } function i5() { echo "i5\n"; return 0; } function i6() { echo "i6\n"; return 0; } $a = array(array(0)); $b = array(array(1)); $c = array(array(2)); $a[i1()][i2()] = $b[i3()][i4()] = $c[i5()][i6()]; var_dump($a); var_dump($b); var_dump($c);