在php7中,千万不要把你的??当成三元运算符使用!!!

  1. <?php
  2. $tmparr = ['cover'=>'http://img.kevinfei.com.cn'];
  3. echo isset($tmparr['cover'])."\n";
  4. echo !empty($tmparr['cover'])."\n";
  5. $rep = isset($tmparr['cover']) && !empty($tmparr['cover']) ? $tmparr['cover'] : '';
  6. var_dump($rep);
  7. $result = isset($tmparr['cover']) && !empty($tmparr['cover']) ?? '';
  8. var_dump($result);
  9. // 1
  10. // 1
  11. // string(24) "http://img.kevinfei.com.cn"
  12. // bool(true)
  13. ?>

php7新增一个运算符??,不知道大家平时是在什么时候用它,但是我一直用它代替以前的三元运算符? :,今天偶然发现,它和三元运算符是不一样的,.

在想用??判断一个赋值为0的变量的时候要小心了,结果可能和想象中的不一样

从上面的结果可以看出,在php7中 ?? 代表isset ?: 代表empty

今天想告诉大家在php7中关于这个几个最常用的内置函数而可能会引发的问题,需要注意一下啊!!!

点赞 ( 1 )

0 条评论

发表评论

人生在世,错别字在所难免,无需纠正。

插入图片
s
返回顶部