bug42177.phpt 904 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. --TEST--
  2. Bug #42177 (Warning "array_merge_recursive(): recursion detected" comes again...)
  3. --FILE--
  4. <?php
  5. $a1 = array( 'key1' => 1, 'key3' => 2 );
  6. $a2 = array();
  7. $a1 = array_merge_recursive( $a1, $a2 );
  8. $a1 = array_merge_recursive( $a1, $a2 );
  9. unset( $a1, $a2 );
  10. $a1 = array();
  11. $a2 = array( 'key1' => 1, 'key3' => 2 );
  12. $a1 = array_merge_recursive( $a1, $a2 );
  13. $a1 = array_merge_recursive( $a1, $a2 );
  14. unset( $a1, $a2 );
  15. $a1 = array();
  16. $a2 = array( 'key1' => &$a1 );
  17. $a1 = array_merge_recursive( $a1, $a2 );
  18. try {
  19. $a1 = array_merge_recursive( $a1, $a2 );
  20. } catch (\Error $e) {
  21. echo $e->getMessage() . " on line " . $e->getLine() . "\n";
  22. }
  23. unset( $a1, $a2 );
  24. $x = 'foo';
  25. $y =& $x;
  26. $a1 = array($x, $y, $x, $y);
  27. $a2 = array( 'key1' => $a1, $x, $y );
  28. $a1 = array_merge_recursive( $a1, $a2 );
  29. $a1 = array_merge_recursive( $a1, $a2 );
  30. unset( $a1, $a2 );
  31. ?>
  32. --EXPECT--
  33. Recursion detected on line 19