Annotation of embedaddon/php/ext/standard/tests/array/bug33940.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Bug #33940 (array_map() fails to pass by reference when called recursively)
3: --INI--
4: allow_call_time_pass_reference=1
5: error_reporting=4095
6: --FILE--
7: <?php
8: function ref_map(&$item) {
9: if(!is_array($item)) {
10: $item = 1;
11: return 2;
12: } else {
13: $ret = array_map('ref_map', &$item);
14: return $ret;
15: }
16: }
17:
18: $a = array(array(0), 0);
19: $ret = array_map('ref_map', $a);
20: echo 'Array: '; print_r($a);
21: echo 'Return: '; print_r($ret);
22: $a = array(array(0), 0);
23: $ret = array_map('ref_map', &$a);
24: echo 'Array: '; print_r($a);
25: echo 'Return: '; print_r($ret);
26: ?>
27: --EXPECTF--
28: Array: Array
29: (
30: [0] => Array
31: (
32: [0] => 0
33: )
34:
35: [1] => 0
36: )
37: Return: Array
38: (
39: [0] => Array
40: (
41: [0] => 2
42: )
43:
44: [1] => 2
45: )
46: Array: Array
47: (
48: [0] => Array
49: (
50: [0] => 1
51: )
52:
53: [1] => 1
54: )
55: Return: Array
56: (
57: [0] => Array
58: (
59: [0] => 2
60: )
61:
62: [1] => 2
63: )
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>