Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
???=运算符在PHP中使用设置值做什么_Php - Fatal编程技术网

???=运算符在PHP中使用设置值做什么

???=运算符在PHP中使用设置值做什么,php,Php,我在几个PHP语句(PHP7.4)中看到了这个操作符??=,如下所示: $data['comments']['user_id']??=“新值”; 我理解,如果设置了$data['comments']['user\u id'],则会分配该值 如果设置了其中一个怎么办 null 0 false 我查看了PHP文档,但不清楚。如果$data['comments']['user\u id']未设置或为空,则将其设置为'new value' 这是一种简写符号 if(!isset($data['com

我在几个PHP语句(PHP7.4)中看到了这个操作符
??=
,如下所示:

$data['comments']['user_id']??=“新值”;
我理解,如果设置了
$data['comments']['user\u id']
,则会分配该值

如果设置了其中一个怎么办

  • null
  • 0
  • false

我查看了PHP文档,但不清楚。

如果
$data['comments']['user\u id']
未设置或为空,则将其设置为
'new value'

这是一种简写符号

if(!isset($data['comments']['user_id'])) {
    $data['comments']['user_id'] = 'new value':
}
它被称为空合并赋值运算符


仅当左侧的变量不存在或为空时,才会将右侧的值分配给左侧的变量。如果它有任何价值,即使是虚假的,什么也不会发生

其他值呢?哦,已经回答过了。具体是什么还不清楚?为什么不写一些测试用例来看看它是如何工作的呢?