php7中的三元運算子的區別

敬飞發表於2024-03-06
<?php

$tmparr = ['cover'=>'http://img.immomo.com.cn'];

echo isset($tmparr['cover'])."\n";
echo !empty($tmparr['cover'])."\n";

$rep = isset($tmparr['cover']) && !empty($tmparr['cover']) ? $tmparr['cover'] : '';
var_dump($rep);

$result = isset($tmparr['cover']) && !empty($tmparr['cover']) ?? '';
var_dump($result);


// 1
// 1
// string(24) "http://img.immomo.com.cn"
// bool(true)

?>

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

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

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

今天想說說php7中關於大家最常用的幾個php的內建函式而可能會引發的問題,做個記錄.

文章來源連結:https://blog.kevinfei.com/home/article/index/articleId/nR0jrG7YBDXMVyb86oevAZEJ24gNqxlk.html

相關文章