bug44925.phpt 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. --TEST--
  2. Bug #44925 (preg_grep() modifies input array)
  3. --FILE--
  4. <?php
  5. $str1 = 'a';
  6. $str2 = 'b';
  7. $array=Array("1",2,3,1.1,FALSE,NULL,Array(), $str1, &$str2);
  8. var_dump($array);
  9. var_dump(preg_grep('/do not match/',$array));
  10. $a = preg_grep('/./',$array);
  11. var_dump($a);
  12. $str1 = 'x';
  13. $str2 = 'y';
  14. var_dump($a); // check if array is still ok
  15. var_dump($array);
  16. ?>
  17. --EXPECTF--
  18. array(9) {
  19. [0]=>
  20. string(1) "1"
  21. [1]=>
  22. int(2)
  23. [2]=>
  24. int(3)
  25. [3]=>
  26. float(1.1)
  27. [4]=>
  28. bool(false)
  29. [5]=>
  30. NULL
  31. [6]=>
  32. array(0) {
  33. }
  34. [7]=>
  35. string(1) "a"
  36. [8]=>
  37. &string(1) "b"
  38. }
  39. Warning: Array to string conversion in %s on line %d
  40. array(0) {
  41. }
  42. Warning: Array to string conversion in %s on line %d
  43. array(7) {
  44. [0]=>
  45. string(1) "1"
  46. [1]=>
  47. int(2)
  48. [2]=>
  49. int(3)
  50. [3]=>
  51. float(1.1)
  52. [6]=>
  53. array(0) {
  54. }
  55. [7]=>
  56. string(1) "a"
  57. [8]=>
  58. &string(1) "b"
  59. }
  60. array(7) {
  61. [0]=>
  62. string(1) "1"
  63. [1]=>
  64. int(2)
  65. [2]=>
  66. int(3)
  67. [3]=>
  68. float(1.1)
  69. [6]=>
  70. array(0) {
  71. }
  72. [7]=>
  73. string(1) "a"
  74. [8]=>
  75. &string(1) "y"
  76. }
  77. array(9) {
  78. [0]=>
  79. string(1) "1"
  80. [1]=>
  81. int(2)
  82. [2]=>
  83. int(3)
  84. [3]=>
  85. float(1.1)
  86. [4]=>
  87. bool(false)
  88. [5]=>
  89. NULL
  90. [6]=>
  91. array(0) {
  92. }
  93. [7]=>
  94. string(1) "a"
  95. [8]=>
  96. &string(1) "y"
  97. }