"?:"是三目運算子,語法格式為:$result = $test ? $test:'';
意思就是當$test
存在時(即empty($test)為false
),則返回它本身,否則返回空(當然也可以返回其他,這裡的空只是舉個例子)
"??"是php7新引入的語法,它相當於是isset($result['key']) ? $result['key']:''
;意思是若這個key的變數存在且值不為null則返回它本身,否則返回空。
在實際的使用中,需要區分!不然很容易出現問題!
舉例如下:
<?php
$arr['kk'] = 1;
$arr['test'] = 1;
$b = 2;
var_dump($arr['test']??0);
var_dump($b?$b:0);
var_dump($arr['aa']??4);
結果如下:
int(1)
int(2)
int(4)
php中 和 的區別
if 4 false echo ok 那麼輸出ok,因為php中有一句話 非0即true 因此只要不是0的不管什麼都是true,那麼當然不等於false因此輸出ok。if 4!false echo ok 那麼拽輸出ok,因為!表示的是只要不是完全相等的就是不等的,因此也輸出ok。什麼叫完全相等呢當然...
php中 和 的區別
b a c 相當於 b isset a a c b a c 相當於 b empty a a c empty 判斷乙個變數是否為空 null false 00 0 0 這類,都會返回true isset 判斷乙個變數是否設定 值為false 00 0 0 這類,也會返回true 功能 檢測變數是否設定...
php中 和! 區別
在sql語句中如果update一條資料,而這條資料資料中的內容和原資料沒有任何變化,會返回int 0 也就是修改失敗。所以作為菜鳥的我,一直以為使用update語句時,一定要對資料進行修改才能使用。今天看了大神的 重新整理了我的認知 首先,說一下 區別及!判斷值是否相等,比如 1 1是相等的。賦值,...