php7中的三元运算符的区别
<?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

浙公网安备 33010602011771号