我在哪里可以阅读有关使用“?"完成的条件的信息?和“:"(冒号)?

2021-12-29 00:00:00 syntax conditional ternary-operator php

可能的重复:
参考 - 这个符号在 PHP 中是什么意思?>

我已经用 if/else 或一年左右的时间做条件语句了.查看一些新代码,我看到一个条件似乎使用 ?: 而不是 if 和 else.我想了解更多关于这方面的信息,但我不知道该用什么 google 来查找解释其工作原理的文章.我该怎么做?

I've been doing conditionals with if/else or a year or so now. Looking at some new code, I'm seeing a conditional that appears to use ? and : instead of if and else. I'd like to learn more about this, but I am not sure what to google to find articles explaining how it works. How can I do it?

推荐答案

三元运算符.

基本用法类似于

$foo = (if this expressions returns true) ? (assign this value to $foo) : (otherwise, assign this value to $foo)

它不仅可以用于赋值,看起来下面还会出现其他示例.

It can be used for more than assignment though, it looks like other examples are cropping up below.

我认为您在许多现代面向对象风格的 PHP 中看到这一点的原因是,如果没有静态类型,您最终需要对任何特定变量中的类型感到偏执,而且一行三元比 7 更简洁行 if/else 条件.

I think the reason you see this in a lot of modern, OO style PHP is that without static typing you end up needing to be paranoid about the types in any particular variable, and a one line ternary is less cluttered than a 7 line if/else conditional.

另外,尊重命名的评论和真相,阅读所有关于the 计算机科学中的三元运算符s.

Also, in deference to the comments and truth in naming, read all about the ternary operators in computer science.

相关文章