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

posted @ 2024-03-06 13:47  敬飞  阅读(39)  评论(0)    收藏  举报