首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >嵌套速记if

嵌套速记if
EN

Stack Overflow用户
提问于 2012-09-20 20:33:48
回答 3查看 8.4K关注 0票数 3

我对一个人手不足的if语句有点小麻烦,我搞不懂

代码语言:javascript
复制
($product == "vindo") ? $this->getNextVindoInList($id) : $this->getNextGandrupInList($id),

这很好用,但我想在该语句中进行另一次检查。如下所示:

代码语言:javascript
复制
if($product == "vindo") {
  if($number != 14) {
    $this->getNextVindoInList($id)
  }
} else {
 if($number != 22) {
    $this->getNextGandrupInList($id)
 }
}
EN

回答 3

Stack Overflow用户

发布于 2012-09-20 20:38:18

尝尝这个!

代码语言:javascript
复制
($product == "vindo") ? ($number != 14 ? $this->getNextVindoInList($id) : null ) : (($number != 22) ? $this->getNextGandrupInList($id) : null)
票数 3
EN

Stack Overflow用户

发布于 2012-09-20 20:52:00

我不会给出一个带有嵌套三元运算符的解决方案。为什么?带有显式if/else结构的代码传达意图。它显示了到底发生了什么。

为什么要牺牲几行代码的可读性呢?这是一笔相当糟糕的交易。

票数 2
EN

Stack Overflow用户

发布于 2012-09-20 20:47:01

使用下面的代码可以简化if语句:

代码语言:javascript
复制
if($product == "vindo" && $number != 14) {
  $this->getNextVindoInList($id)
} else if($number != 22) {
  $this->getNextGandrupInList($id)
}

排序函数if现在不方便了,因为else也有一个if语句。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12512652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档