[英]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.