bug34982.phpt 529 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. --TEST--
  2. Bug #34982 (array_walk_recursive() modifies elements outside function scope)
  3. --FILE--
  4. <?php
  5. $ar = array(
  6. 'element 1',
  7. array('subelement1')
  8. );
  9. func($ar);
  10. print_r($ar);
  11. function func($a) {
  12. array_walk_recursive($a, 'apply');
  13. print_r($a);
  14. }
  15. function apply(&$input, $key) {
  16. $input = 'changed';
  17. }
  18. ?>
  19. --EXPECT--
  20. Array
  21. (
  22. [0] => changed
  23. [1] => Array
  24. (
  25. [0] => changed
  26. )
  27. )
  28. Array
  29. (
  30. [0] => element 1
  31. [1] => Array
  32. (
  33. [0] => subelement1
  34. )
  35. )