小可ThinkPHP学堂

?找回密码
?立即注册
搜索
热搜: 活动 交友 discuz
查看: 306|回复: 0
打印 上一主题 下一主题

[PHP7] PHP7新增运算符之"??"

[复制链接]

41

主题

41

帖子

192

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
192
跳转到指定楼层
楼主
发表于 2019-9-16 21:41:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

三元运算符是我们在进行编程时经常用到的一种结构,使用三元运算符可以有效减少ifelse结构体的使用,增加代码的可读性,PHP7对三元运算符进一步简化,提供了??运算符。

假如我们进行一个添加分类的操作,如果是添加顶级分类,则父类id(parent_id)为零,父类名称为顶级分类,如果是在某个分类下添加分类,则parent_id是通过url或post传递过来的,父类名称需要通过查询数据表获取,需要区分能否查到父类信息。

传统三元运算符是这样的:

  1. $parentCagegory = isset($this->categoryModel->get($parent_id))?$this->categoryModel->get($parent_id):[
  2. ? ?? ?? ?? ?? ?? ?? ?? ?'parent_id' =>??0,
  3. ? ?? ?? ?? ?? ?? ?? ?? ?'name'??=>??'顶级分类'
  4. ? ?? ?? ?? ?? ?? ???];
复制代码

而"??"运算符可以进一步简化:

  1. $parentCagegory = $this->categoryModel->get($parent_id)??[
  2. 'parent_id' =>??0,
  3. 'name'??=>??'顶级分类'
  4. ];
复制代码

By小可老师

2019年9月16日

转载请标明出处

可以加QQ群415216728进行交流。

公众号搜小可ThinkPHP学堂



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表