bug29038.phpt 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. --TEST--
  2. Bug #29038 (extract(), EXTR_PREFIX_SAME option prefixes empty strings)
  3. --FILE--
  4. <?php
  5. function f1() {
  6. $c = extract(array("" => 1),EXTR_PREFIX_SAME,"prefix");
  7. echo "Extracted:";
  8. var_dump($c);
  9. print_r(get_defined_vars());
  10. }
  11. function f2() {
  12. $a = 1;
  13. $c = extract(array("a" => 1),EXTR_PREFIX_SAME,"prefix");
  14. echo "Extracted:";
  15. var_dump($c);
  16. print_r(get_defined_vars());
  17. }
  18. function f3() {
  19. $a = 1;
  20. $c = extract(array("a" => 1),EXTR_PREFIX_ALL,"prefix");
  21. echo "Extracted:";
  22. var_dump($c);
  23. print_r(get_defined_vars());
  24. }
  25. function f4() {
  26. $c = extract(array("" => 1),EXTR_PREFIX_ALL,"prefix");
  27. echo "Extracted:";
  28. var_dump($c);
  29. print_r(get_defined_vars());
  30. }
  31. function f5() {
  32. $c = extract(array("111" => 1),EXTR_PREFIX_ALL,"prefix");
  33. echo "Extracted:";
  34. var_dump($c);
  35. print_r(get_defined_vars());
  36. }
  37. f1();
  38. f2();
  39. f3();
  40. f4();
  41. f5();
  42. ?>
  43. --EXPECT--
  44. Extracted:int(0)
  45. Array
  46. (
  47. [c] => 0
  48. )
  49. Extracted:int(1)
  50. Array
  51. (
  52. [a] => 1
  53. [prefix_a] => 1
  54. [c] => 1
  55. )
  56. Extracted:int(1)
  57. Array
  58. (
  59. [a] => 1
  60. [prefix_a] => 1
  61. [c] => 1
  62. )
  63. Extracted:int(0)
  64. Array
  65. (
  66. [c] => 0
  67. )
  68. Extracted:int(1)
  69. Array
  70. (
  71. [prefix_111] => 1
  72. [c] => 1
  73. )