bug50394.phpt 502 B

123456789101112131415161718192021222324
  1. --TEST--
  2. Bug #50394: Reference argument converted to value in __call
  3. --FILE--
  4. <?php
  5. function inc( &$x ) { $x++; }
  6. class Proxy {
  7. function __call( $name, $args ) {
  8. echo "$name called!\n";
  9. call_user_func_array( 'inc', $args );
  10. }
  11. }
  12. $arg = 1;
  13. $args = array( &$arg );
  14. $proxy = new Proxy;
  15. call_user_func_array( array( $proxy, 'bar' ), $args );
  16. call_user_func_array( array( $proxy, 'bar' ), array(&$arg) );
  17. var_dump($arg);
  18. ?>
  19. --EXPECT--
  20. bar called!
  21. bar called!
  22. int(3)