什么问题(?)之前的类型声明意味着在php(?int)[复制]

参见英文答案 Predefined types of variable parameters4个 我在 https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Console/Output/Output.php第40行看到了这个代码,他们正在

参见英文答案 >
Predefined types of variable parameters4个

我在
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);
    }

它被称为Nullable类型.

将int定义为int或null.

Type declarations for parameters and return values can now be marked as nullable by prefixing the type name with a question mark. This signifies that as well as the specified type,NULL can be passed as an argument,or returned as a value,respectively.

示例:

function nullOrInt(?int $arg){
    var_dump($arg);
}

nullOrInt(100);
nullOrInt(null);

function nullOrInt将同时接受null和int.

参考:http://php.net/manual/en/migration71.new-features.php

作者: dawei

【声明】:滨州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部