小编Joã*_*ula的帖子

"?" 和有什么不一样?和 PHP 函数参数中的“= null”

我正在做一些研究,但无法找到答案(可能是因为我没有正确搜索)

考虑这段代码:

public function foo(?array $optionalParam);
Run Code Online (Sandbox Code Playgroud)

然后是这个:

public function foo(array $optionalParam = null);
Run Code Online (Sandbox Code Playgroud)

它们之间有什么区别?使用 PHPstorm 我注意到当我使用 时?,它会创建一个 PHPdoc 并将变量类型标记为type|null. 但是当我在没有那个参数的情况下调用函数时,PHP 在我脸上尖叫“你在开玩笑吗?$optionalParam 在哪里”。另一方面,我设法毫无问题地使用了该=null选项。

对不起,如果这个问题太简单了,但我没有在网上找到任何答案。

php parameters nullable function php-7

1
推荐指数
1
解决办法
56
查看次数

标签 统计

function ×1

nullable ×1

parameters ×1

php ×1

php-7 ×1