ReflectionParameter_canBePassedByValue.phpt 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. --TEST--
  2. ReflectionParameter class - canBePassedByValue() method.
  3. --FILE--
  4. <?php
  5. function aux($fun) {
  6. $func = new ReflectionFunction($fun);
  7. $parameters = $func->getParameters();
  8. foreach($parameters as $parameter) {
  9. echo "Name: ", $parameter->getName(), "\n";
  10. echo "Is passed by reference: ", $parameter->isPassedByReference()?"yes":"no", "\n";
  11. echo "Can be passed by value: ", $parameter->canBePassedByValue()?"yes":"no", "\n";
  12. echo "\n";
  13. }
  14. }
  15. echo "=> array_multisort:\n\n";
  16. aux('array_multisort');
  17. echo "=> sort:\n\n";
  18. aux('sort');
  19. echo "=> user function:\n\n";
  20. function ufunc(&$array1, $array2) {}
  21. aux('ufunc');
  22. echo "Done.\n";
  23. ?>
  24. --EXPECT--
  25. => array_multisort:
  26. Name: array
  27. Is passed by reference: yes
  28. Can be passed by value: yes
  29. Name: rest
  30. Is passed by reference: yes
  31. Can be passed by value: yes
  32. => sort:
  33. Name: array
  34. Is passed by reference: yes
  35. Can be passed by value: no
  36. Name: flags
  37. Is passed by reference: no
  38. Can be passed by value: yes
  39. => user function:
  40. Name: array1
  41. Is passed by reference: yes
  42. Can be passed by value: no
  43. Name: array2
  44. Is passed by reference: no
  45. Can be passed by value: yes
  46. Done.