bug72622.phpt 515 B

12345678910111213141516171819202122232425262728293031323334
  1. --TEST--
  2. Bug #72622 (array_walk + array_replace_recursive create references from nothing)
  3. --FILE--
  4. <?php
  5. function walk (array $arr) {
  6. array_walk($arr, function (&$val, $name) {
  7. });
  8. return $arr;
  9. }
  10. $arr3 = ['foo' => 'foo'];
  11. $arr4 = walk(['foo' => 'bar']);
  12. $arr5 = array_replace_recursive($arr3, $arr4);
  13. $arr5['foo'] = 'baz';
  14. var_dump($arr3, $arr4, $arr5);
  15. ?>
  16. --EXPECT--
  17. array(1) {
  18. ["foo"]=>
  19. string(3) "foo"
  20. }
  21. array(1) {
  22. ["foo"]=>
  23. string(3) "bar"
  24. }
  25. array(1) {
  26. ["foo"]=>
  27. string(3) "baz"
  28. }