PHP中「 「和「 「的去區別

2021-10-16 22:44:47 字數 602 閱讀 1278

"?:"是三目運算子,語法格式為:$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是相等的。賦值,...