PHP7引入的"??"和"?:"的區(qū)別講解
實(shí)踐出真知~
測(cè)試代碼
輸入測(cè)試:
<?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: 判斷一個(gè)變量是否為空(null、false、00、0、'0′、』這類,都會(huì)返回true)。
- isset: 判斷一個(gè)變量是否設(shè)置(值為false、00、0、'0′、』這類,也會(huì)返回true)。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
基于php在各種web服務(wù)器的運(yùn)行模式詳解
本篇文章是對(duì)php在各種web服務(wù)器的運(yùn)行模式進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
php 數(shù)據(jù)結(jié)構(gòu)之鏈表隊(duì)列
這篇文章主要介紹了php 數(shù)據(jù)結(jié)構(gòu)之鏈表隊(duì)列的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下2017-10-10
thinkphp實(shí)現(xiàn)面包屑導(dǎo)航(當(dāng)前位置)例子分享
今天把博客一些細(xì)節(jié)完善了一下,其中修改了一下欄目頁(yè)和文章頁(yè)中的“當(dāng)前位置”。2014-05-05
php_screw安裝使用教程(另一個(gè)PHP代碼加密實(shí)現(xiàn))
這篇文章主要介紹了php_screw安裝使用教程,php_screw是另一個(gè)PHP代碼加密實(shí)現(xiàn),和Zend的encoder類似,需要的朋友可以參考下2014-05-05
thinkPHP刪除前彈出確認(rèn)框的簡(jiǎn)單實(shí)現(xiàn)方法
這篇文章主要介紹了thinkPHP刪除前彈出確認(rèn)框的簡(jiǎn)單實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了thinkPHP前臺(tái)HTML部分結(jié)合js控制彈出框效果,以及后臺(tái)控制器的刪除數(shù)據(jù)處理功能,需要的朋友可以參考下2016-05-05
在VS?Code?中調(diào)試遠(yuǎn)程服務(wù)器的PHP代碼詳解
這篇文章主要介紹了在VSCode中調(diào)試遠(yuǎn)程服務(wù)器的PHP代碼,這里通過(guò)xdebug配合vscode的php?debug插件來(lái)實(shí)現(xiàn),本文結(jié)合實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07

