diff options
Diffstat (limited to 'ext/standard/tests/array/array_merge_replace_recursive_refs.phpt')
-rw-r--r-- | ext/standard/tests/array/array_merge_replace_recursive_refs.phpt | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/ext/standard/tests/array/array_merge_replace_recursive_refs.phpt b/ext/standard/tests/array/array_merge_replace_recursive_refs.phpt new file mode 100644 index 0000000000..ac8be2ba2f --- /dev/null +++ b/ext/standard/tests/array/array_merge_replace_recursive_refs.phpt @@ -0,0 +1,38 @@ +--TEST-- +array_merge/replace_recursive() should unwrap references with rc=1 +--FILE-- +<?php + +$x = 24; +$arr1 = [[42]]; +$arr2 = [[&$x]]; +unset($x); +$arr3 = array_replace_recursive($arr1, $arr2); +$arr2[0][0] = 12; +var_dump($arr3); + +unset($arr1, $arr2, $arr3); + +$x = 24; +$arr1 = [42]; +$arr2 = [&$x]; +unset($x); +$arr3 = array_merge_recursive($arr1, $arr2); +$arr2[0] = 12; +var_dump($arr3); + +?> +--EXPECT-- +array(1) { + [0]=> + array(1) { + [0]=> + int(24) + } +} +array(2) { + [0]=> + int(42) + [1]=> + int(24) +} |