016.phpt 672 B

1234567891011121314151617181920212223242526272829303132333435
  1. --TEST--
  2. Test nullsafe in function argument
  3. --FILE--
  4. <?php
  5. class Foo {
  6. public $bar;
  7. }
  8. function set(&$ref, $value) {
  9. $ref = $value;
  10. }
  11. function test($foo) {
  12. try {
  13. set($foo?->bar, 'bar');
  14. } catch (Error $e) {
  15. echo $e->getMessage() . "\n";
  16. }
  17. try {
  18. (strrev('tes'))($foo?->bar, 'bar2');
  19. } catch (Error $e) {
  20. echo $e->getMessage() . "\n";
  21. }
  22. }
  23. test(null);
  24. test(new Foo());
  25. ?>
  26. --EXPECT--
  27. set(): Argument #1 ($ref) cannot be passed by reference
  28. set(): Argument #1 ($ref) cannot be passed by reference
  29. set(): Argument #1 ($ref) cannot be passed by reference
  30. set(): Argument #1 ($ref) cannot be passed by reference