Php 什么是';零合并';(??)操作员用于?

Php 什么是';零合并';(??)操作员用于?,php,coding-style,operators,php-7,Php,Coding Style,Operators,Php 7,随着新PHP版本PHP7的发布,引入了新的特性。在这些新功能中,有一个我不熟悉的操作员。空合并运算符 这个运算符是什么?有哪些好的用例?您可以使用它初始化可能为null的变量 这个??运算符称为空合并运算符。它返回 如果操作数不为空,则为左操作数;否则它将返回 右操作数 资料来源: (不依赖于语言) 用例 你可以写 $rabbits; $rabbits = count($somearray); if ($rabbits == null) { $rabbits = 0; } 您可以使

随着新PHP版本PHP7的发布,引入了新的特性。在这些新功能中,有一个我不熟悉的操作员。
空合并运算符


这个运算符是什么?有哪些好的用例?

您可以使用它初始化可能为null的变量

这个??运算符称为空合并运算符。它返回 如果操作数不为空,则为左操作数;否则它将返回 右操作数

资料来源:

(不依赖于语言)

用例

你可以写

$rabbits;

$rabbits = count($somearray);

if ($rabbits == null) {
    $rabbits = 0;
}
您可以使用较短的符号

$rabbits = $rabbits ?? 0;

$username=isset($\u GET['user'])$_获取['user']:'nobody'


???根据PHP手册,是三元速记:

空合并运算符(??)已添加为语法糖,用于需要将三元运算符与isset()结合使用的常见情况。如果第一个操作数存在且不为空,则返回第一个操作数;否则返回第二个操作数

来自:“空合并运算符(??)已添加为语法糖,用于需要将三元运算符与isset()结合使用的常见情况。如果第一个操作数存在且不为空,则返回第一个操作数;否则返回第二个操作数。”
$username = $_GET['user'] ?? 'nobody'; 
// Fetches the value of $_GET['user'] and returns 'nobody'
// if it does not exist.
$username = $_GET['user'] ?? 'nobody';
// This is equivalent to:
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';

// Coalesces can be chained: this will return the first
// defined value out of $_GET['user'], $_POST['user'], and
// 'nobody'.
$username = $_GET['user'] ?? $_POST['user'] ?? 'nobody';