PHP 三元条件.是或否以及为什么


PHP ternary conditional. Yes or no and why?

我被告知除非必要,否则不要使用三元条件运算符(?:)。

我的问题是,为什么?

我喜欢在编写if/else时使用三元运算符,每个只有一个语句。我认为这对我来说看起来更容易,而且更容易写。

同样,仅当它真的很短(1 行 if/else)。我可以理解为什么嵌套和多个三元是邪恶的。

那么这种做事方式有什么问题呢?这完全是偏好问题还是存在性能成本?

此外,每当我对 else 或 elseif 有 2 或 3 个以上的条件时,我通常使用 switch 语句。这是好的做法吗?

我认为三级运算符没有问题(并且从未听说过问题)。事实上,它使代码更加简洁,除非读者是初学者,否则在我看来更清晰。

同样,switch实际上只是一个抽象概念,更多的是关于清晰度。当我只依赖一个变量时,我使用开关。如果你需要在每个案例中进行额外的检查,那很糟糕,但似乎你已经非常清楚这些事情了。

我也没有看到任何问题。至于性能,这些类型的东西通常只是"语法糖"。基本上,它转换为引擎盖下的相同代码,因此这只是为了您的方便。当然,如果它最终使您的代码不那么方便阅读/编写,那么就没有理智的理由使用它。

奇怪的是,

我的前辈告诉我,当你只是测试一个真或假的条件时,使用三元运算符,而且它也更快. 我同意.

但是在多种情况下,我总是更喜欢 else 循环它很容易.

而且我从来没有使用过switch语句,因为如果其他的话可以为我做这项工作。

   so ternary opertor are best for one line of if else and its easy and fast

他们不赞成乘法的唯一原因是因为它变得复杂并且对新用户容易出错