PHP7引入的"??"和"?:"的區(qū)別講解
實踐出真知~
測試代碼
輸入測試:
<?php
$array = [
'a' => 1,
'b' => 2,
'c' => [],
];
$a = $array['c'] ?? 0;
$b = $array['c'] ?: 0;
$c = $array['d'] ?? 0;
$d = $array['d'] ?: 0;
$e = $array['c'] ? 1 : 0;
$f = isset($array['c']) ? 1 : 0;
$g = $array['d'] ? 1 : 0;
$h = isset($array['d']['e']) ? 1 : 0;
$i = !empty($array['c']) ? 1 : 0;
$j = !empty($array['d']) ? 1 : 0;
var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
var_dump($e);
var_dump($f);
var_dump($g);
var_dump($h);
var_dump($i);
var_dump($j);
輸出結(jié)果:
PHP Notice: Undefined index: d in /home/fanyu/abc.php on line 11
PHP Notice: Undefined index: d in /home/fanyu/abc.php on line 14
array(0) {
}
int(0)
int(0)
int(0)
int(0)
int(1)
int(0)
int(0)
int(0)
int(0)
結(jié)論
- $a ?? 0 等同于 isset($a) ? $a : 0。
- $a ?: 0 等同于 $a ? $a : 0。
- empty: 判斷一個變量是否為空(null、false、00、0、'0′、』這類,都會返回true)。
- isset: 判斷一個變量是否設(shè)置(值為false、00、0、'0′、』這類,也會返回true)。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
php 數(shù)據(jù)結(jié)構(gòu)之鏈表隊列
這篇文章主要介紹了php 數(shù)據(jù)結(jié)構(gòu)之鏈表隊列的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-10-10
thinkphp實現(xiàn)面包屑導航(當前位置)例子分享
今天把博客一些細節(jié)完善了一下,其中修改了一下欄目頁和文章頁中的“當前位置”。2014-05-05
php_screw安裝使用教程(另一個PHP代碼加密實現(xiàn))
這篇文章主要介紹了php_screw安裝使用教程,php_screw是另一個PHP代碼加密實現(xiàn),和Zend的encoder類似,需要的朋友可以參考下2014-05-05
在VS?Code?中調(diào)試遠程服務(wù)器的PHP代碼詳解
這篇文章主要介紹了在VSCode中調(diào)試遠程服務(wù)器的PHP代碼,這里通過xdebug配合vscode的php?debug插件來實現(xiàn),本文結(jié)合實例代碼介紹的非常詳細,需要的朋友可以參考下2023-07-07

