簡體   English   中英

Php Null合並運算符

[英]Php Null coalescing operator

我試圖了解null coalescing operator如何真正起作用。 因此,在閱讀了php.net中的文檔以及關於stackoverflow的一些帖子之后,我測試了許多示例。

但是,我無法理解以下代碼:

<?php 
$x = false ?? 'stackoverflow';
var_dump($x); // bool(false)

因為它等效於(來自php.net#null-coalescing

isset(false) ? false : 'stackoverflow';

由於isset(false)產生fatal error

請問有人可以向我解釋嗎?

空合並運算符將返回其第一個操作數(如果存在)並且不為NULL;否則返回其第一個操作數。

否則,它將返回其第二個操作數。

在您的情況下,第一個操作數為false,因此將其分配給變量。 例如 如果將null初始化為第一個操作數,則它將為第二個操作數賦值,如圖所示。

 $a = null;
 $x = $a ?? 'abc';
 var_dump($x);

Result :
string(3) "abc" 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM