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

发布于 2024-09-29 09:41:41 字数 349 浏览 6 评论 0原文

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

我'已经用 if/else 做条件语句或者一年左右了。查看一些新代码,我发现条件语句似乎使用 ?: 而不是 if 和 else。我想了解更多相关信息,但我不确定如何通过谷歌搜索来找到解释其工作原理的文章。我该怎么做呢?

Possible Duplicate:
Reference - What does this symbol mean in PHP?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

携君以终年 2024-10-06 09:41:41

这是三元运算符

基本用法类似于

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

它的用途不仅仅是赋值,看起来下面还出现了其他示例。

我认为你在许多现代的 OO 风格 PHP 中看到这种情况的原因是,如果没有静态类型,你最终需要对任何特定变量中的类型保持偏执,并且单行三元比 7 行 if/ 更简洁否则有条件。

另外,为了尊重命名中的注释和真实性,请阅读有关三元运算符的所有内容计算机科学中的s

It's the Ternary Operator.

Basic usage is something like

$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.

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.

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

屌丝范 2024-10-06 09:41:41

这就是条件运算符。它几乎是一行 if/then/else 语句:

if(someCondition){
    $x = doSomething();
}
else{
    $x = doSomethingElse();
}

变成:

$x = someCondition ? doSomething() : doSomethingElse();

That would be the conditional operator. It's pretty much a single line if/then/else statement:

if(someCondition){
    $x = doSomething();
}
else{
    $x = doSomethingElse();
}

Becomes:

$x = someCondition ? doSomething() : doSomethingElse();
诺曦 2024-10-06 09:41:41

这是:

条件? do_if_true : do_if_false

因此,例如下面的例子, do->something() 将被运行。

$true = 1;
$false = 0

$true ? $do->something() : $do->nothing();

但在下面的示例中,将运行 do->nothing() 。

$false ? $do->something() : $do->nothing();

It is:

condition ? do_if_true : do_if_false

So, for example in the below, do->something() will be run.

$true = 1;
$false = 0

$true ? $do->something() : $do->nothing();

But in the below example, do->nothing() will be run.

$false ? $do->something() : $do->nothing();
浅暮の光 2024-10-06 09:41:41

这是 PHP 中的三元运算符。它是 if/else 的简写,格式为:

condition ? true expression : false expression;

This is the ternary operator in PHP. It's shorthand for if/else, format is:

condition ? true expression : false expression;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文