php7中 和三元運算子 的區別

2021-08-27 18:15:20 字數 601 閱讀 9916

php7新增乙個運算子??,不知道大家平時是在什麼時候用它,但是我一直用它代替以前的三元運算子? :,今天偶然發現,它和三元運算子是不一樣的

$a = 0;    

$b = $a > 0 ? $a : 1;

$c = $a ? $a : 2;

$d = $a ?: 3;

$f = $a ?? 3;

var_dump($b); // int 1

var_dump($c); // int 2

var_dump($d); // int 3

var_dump($f); // int 0

var_dump(isset($a)); // boolean true

> 從上面的結果可以看出$a = $var ?? $temp的意思是$a = isset($var) ? $var : $temp

所以想用??判斷乙個賦值為0的變數的時候要小心了,結果可能和想象中的不一樣

PHP 三元運算子

a a a 1 第一種 a a 1 第二種第二種寫法從 php 5.3 引入,表示若 a 返回值為真時,取 a 的返回值。此外,在 php7 中引入了?運算子 a a 1 該表示式與第二種寫法類似,可以達到相同的效果。但?運算子是以判斷 a 變數是否存在於上下文環境中作為條件,而三元運算子不具備這種...

PHP中的三元運算子

您將要創造的 三元運算子使我們可以簡化一些php條件語句。我們將看到如何在測試驅動的開發和重構中使用它來簡化如下 result null if 5 3 else使用三元運算子編寫,我們可以將以上比較寫為 result 5 3 bigger less 顯然,這是一種編寫相對容易理解的條件語句的簡單得多...

php的三元運算子 和

1.expr1 expr2 expr3 表示式 expr1 expr2 expr3 在 expr1 求值為true時的值為 expr2,在 expr1 求值為false時的值為 expr3。其中false的值的判斷跟 if expr1 一樣,包括空字串 false 為空empty null 0 0....