func_num_args.004.phpt 752 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. --TEST--
  2. Pass same variable by ref and by value.
  3. --FILE--
  4. <?php
  5. function valRef($x, &$y) {
  6. var_dump($x, $y);
  7. var_dump(func_num_args());
  8. $x = 'changed.x';
  9. $y = 'changed.y';
  10. var_dump(func_num_args());
  11. }
  12. function refVal(&$x, $y) {
  13. var_dump($x, $y);
  14. var_dump(func_num_args());
  15. $x = 'changed.x';
  16. $y = 'changed.y';
  17. var_dump(func_num_args());
  18. }
  19. echo "\n\n-- Val, Ref --\n";
  20. $a = 'original.a';
  21. valRef($a, $a);
  22. var_dump($a);
  23. echo "\n\n-- Ref, Val --\n";
  24. $b = 'original.b';
  25. refVal($b, $b);
  26. var_dump($b);
  27. ?>
  28. --EXPECT--
  29. -- Val, Ref --
  30. string(10) "original.a"
  31. string(10) "original.a"
  32. int(2)
  33. int(2)
  34. string(9) "changed.y"
  35. -- Ref, Val --
  36. string(10) "original.b"
  37. string(10) "original.b"
  38. int(2)
  39. int(2)
  40. string(9) "changed.x"