?int $number 和 int $number = null 有什么区别?
2022-08-30 14:37:41
给出这个解释
可为 null 的类型:参数和返回值的类型声明现在可以通过在类型名称前面加上问号来标记为可以为 null。这表示除了指定的类型之外,NULL 可以分别作为参数传递或作为值返回。
以下代码:
public function test(?int $var) {
}
表示可以使用 as 或 as 调用。test()
$var
int
null
以及以下代码:
public function test(int $var = null) {
}
表示也可以用 as 或调用。test()
$var
int
null
这两种方法有什么区别?这些中的任何一个都比另一个更高性能吗?