12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- --TEST--
- Bug #73663 ("Invalid opcode 65/16/8" occurs with a variable created with list())
- --FILE--
- <?php
- function change(&$ref) {
- $ref = range(1, 10);
- return;
- }
- $func = function (&$ref) {
- return change($ref);
- };
- $array = [1];
- var_dump(list($val) = $array); // NG: Invalid opcode
- change(list($val) = $array);
- var_dump($array);
- $array = [1];
- $func(list($val) = $array);
- var_dump($array);
- ?>
- --EXPECT--
- array(1) {
- [0]=>
- int(1)
- }
- array(10) {
- [0]=>
- int(1)
- [1]=>
- int(2)
- [2]=>
- int(3)
- [3]=>
- int(4)
- [4]=>
- int(5)
- [5]=>
- int(6)
- [6]=>
- int(7)
- [7]=>
- int(8)
- [8]=>
- int(9)
- [9]=>
- int(10)
- }
- array(10) {
- [0]=>
- int(1)
- [1]=>
- int(2)
- [2]=>
- int(3)
- [3]=>
- int(4)
- [4]=>
- int(5)
- [5]=>
- int(6)
- [6]=>
- int(7)
- [7]=>
- int(8)
- [8]=>
- int(9)
- [9]=>
- int(10)
- }
|