加入收藏 | 设为首页 | 会员中心 | 我要投稿 鄂州站长网 (https://www.0711zz.com/)- 数据分析、网络、云渲染、应用安全、大数据!
当前位置: 首页 > 编程开发 > PHP > 正文

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

发布时间:2020-08-16 05:53:04 所属栏目:PHP 来源:互联网
导读:参见英文答案 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

(编辑:鄂州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读