bug26639.phpt 1.8 KB

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