我在他们使用的https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Console/Output/Output.php第40行看到了这段代码?int。
public function __construct(?int $verbosity = self::VERBOSITY_NORMAL, bool $decorated = false, OutputFormatterInterface $formatter = null)
{
$this->verbosity = null === $verbosity ? self::VERBOSITY_NORMAL : $verbosity;
$this->formatter = $formatter ?: new OutputFormatter();
$this->formatter->setDecorated($decorated);
}
答案 0 :(得分:18)
它被称为Nullable types
。
将?int
定义为int
或null
。
现在可以通过在类型名称前加上问号前缀来将参数和返回值的类型声明标记为可为空。这表示除了指定的类型外,NULL还可以作为参数传递,或者分别作为值返回。
示例:
function nullOrInt(?int $arg){
var_dump($arg);
}
nullOrInt(100);
nullOrInt(null);
function nullOrInt
将接受null和int。