bug31213.phpt 644 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. --TEST--
  2. Bug #31213 (Sideeffects caused by bug #29493)
  3. --FILE--
  4. <?php
  5. function test($use_extract) {
  6. $a = 1;
  7. $b = 1;
  8. $arr = array(
  9. '_a' => $a,
  10. '_b' => &$b
  11. );
  12. var_dump($a, $b);
  13. if ($use_extract) {
  14. extract($arr, EXTR_REFS);
  15. } else {
  16. $_a = &$arr['_a'];
  17. $_b = &$arr['_b'];
  18. }
  19. $_a++;
  20. $_b++;
  21. var_dump($a, $b, $_a, $_b, $arr);
  22. }
  23. test(false);
  24. test(true);
  25. ?>
  26. --EXPECT--
  27. int(1)
  28. int(1)
  29. int(1)
  30. int(2)
  31. int(2)
  32. int(2)
  33. array(2) {
  34. ["_a"]=>
  35. &int(2)
  36. ["_b"]=>
  37. &int(2)
  38. }
  39. int(1)
  40. int(1)
  41. int(1)
  42. int(2)
  43. int(2)
  44. int(2)
  45. array(2) {
  46. ["_a"]=>
  47. &int(2)
  48. ["_b"]=>
  49. &int(2)
  50. }