|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #80283 Null constant in method signature did not allow nullable anymore
Submitted: 2020-10-26 08:40 UTC Modified: 2020-10-26 11:31 UTC
From: php-bugs at marcelthole dot de Assigned:
Status: Not a bug Package: *General Issues
PHP Version: 8.0.0RC2 OS:
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Bug Type:
From: php-bugs at marcelthole dot de
New email:
PHP Version: OS:


 [2020-10-26 08:40 UTC] php-bugs at marcelthole dot de
In PHP < 8.0 it was possible to make an argument nullable without the question mark if the default value is null. This works fine if the variable is directly null, but not when the default value is an CONST with a null value

Test script:


const ALLOW_ANY = null;


function foo(array $baz = ALLOW_ANY)
    return true;


Expected result:

Actual result:

Fatal error: Uncaught TypeError: foo(): Argument #1 ($baz) must be of type array, null given, called in /in/RLUo7 on line 14 and defined in /in/RLUo7:9
Stack trace:
#0 /in/RLUo7(14): foo(NULL)
#1 {main}
  thrown in /in/RLUo7 on line 9

Process exited with code 255.


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2020-10-26 08:43 UTC]
-Status: Open +Status: Not a bug
 [2020-10-26 08:59 UTC] php at kriegt dot es
Is that intentional behavior documented in one of the breaking changes messages?
Not sure if I've ever seen anything regarding this behavior.
 [2020-10-26 11:31 UTC]
Are you referring to deprecation messages? If so, no, there has been no deprecation message for this change.

We might deprecate implicit argument nullability entirely in the future, but I don't believe this is a consensus for that (yet).
PHP Copyright © 2001-2022 The PHP Group
All rights reserved.
Last updated: Thu Aug 11 23:05:44 2022 UTC