bug68446.phpt 528 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. --TEST--
  2. Bug #68446 (Array constant not accepted for array parameter default)
  3. --FILE--
  4. <?php
  5. const FOO = [1];
  6. const BAR = null;
  7. function a(array $a = FOO) {
  8. var_dump($a);
  9. }
  10. function b(?array $b = BAR) {
  11. var_dump($b);
  12. }
  13. b(null);
  14. b([]);
  15. b();
  16. a([]);
  17. a();
  18. a(null);
  19. ?>
  20. --EXPECTF--
  21. NULL
  22. array(0) {
  23. }
  24. NULL
  25. array(0) {
  26. }
  27. array(1) {
  28. [0]=>
  29. int(1)
  30. }
  31. Fatal error: Uncaught TypeError: a(): Argument #1 ($a) must be of type array, null given, called in %s:%d
  32. Stack trace:
  33. #0 %s(%d): a(NULL)
  34. #1 {main}
  35. thrown in %s on line %d