xref: /PHP-8.3/ext/mbstring/tests/bug26639.phpt (revision 39131219)
1--TEST--
2Bug #26639 (mb_convert_variables() clutters variables beyond the references)
3--EXTENSIONS--
4mbstring
5--FILE--
6<?php
7$a = "����������";
8$b = $a;
9mb_convert_variables("EUC-JP", "Shift_JIS", $b);
10var_dump($a);
11var_dump($b);
12unset($a);
13unset($b);
14
15$a = "����������";
16$b = &$a;
17mb_convert_variables("EUC-JP", "Shift_JIS", $b);
18var_dump($a);
19var_dump($b);
20unset($a);
21unset($b);
22
23$a = "����������";
24$b = array($a);
25$c = $b;
26mb_convert_variables("EUC-JP", "Shift_JIS", $c);
27var_dump($b);
28var_dump($c);
29unset($a);
30unset($b);
31unset($c);
32
33$a = "����������";
34$b = array(&$a);
35$c = $b;
36mb_convert_variables("EUC-JP", "Shift_JIS", $c);
37var_dump($b);
38var_dump($c);
39unset($a);
40unset($b);
41unset($c);
42
43$a = "����������";
44$b = array($a);
45$c = &$b;
46mb_convert_variables("EUC-JP", "Shift_JIS", $c);
47var_dump($b);
48var_dump($c);
49unset($a);
50unset($b);
51unset($c);
52
53$a = "����������";
54$b = array(&$a);
55$c = &$b;
56mb_convert_variables("EUC-JP", "Shift_JIS", $c);
57var_dump($b);
58var_dump($c);
59unset($a);
60unset($b);
61unset($c);
62
63$a = array(array("����������"));
64$b = $a;
65$c = $b;
66mb_convert_variables("EUC-JP", "Shift_JIS", $c);
67var_dump($b);
68var_dump($c);
69unset($a);
70unset($b);
71unset($c);
72?>
73--EXPECT--
74string(10) "����������"
75string(10) "����������"
76string(10) "����������"
77string(10) "����������"
78array(1) {
79  [0]=>
80  string(10) "����������"
81}
82array(1) {
83  [0]=>
84  string(10) "����������"
85}
86array(1) {
87  [0]=>
88  &string(10) "����������"
89}
90array(1) {
91  [0]=>
92  string(10) "����������"
93}
94array(1) {
95  [0]=>
96  string(10) "����������"
97}
98array(1) {
99  [0]=>
100  string(10) "����������"
101}
102array(1) {
103  [0]=>
104  string(10) "����������"
105}
106array(1) {
107  [0]=>
108  string(10) "����������"
109}
110array(1) {
111  [0]=>
112  array(1) {
113    [0]=>
114    string(10) "����������"
115  }
116}
117array(1) {
118  [0]=>
119  array(1) {
120    [0]=>
121    string(10) "����������"
122  }
123}
124