‘:’的含义和'?'

发布于 2024-09-30 04:44:14 字数 368 浏览 4 评论 0原文

可能的重复:
php 中的代码“:”

我经常看到很多php代码使用,但我实际上不明白它的用途。这里有一个例子:

$selected = ($key == $config['default_currency']) ? ' selected="selected"' : '';

有人可以帮我澄清一下吗? :)

Possible Duplicate:
the code “ : ” in php

I often see a lot of php code using ? and :, but I don't actually understand what it is for. Here an example:

$selected = ($key == $config['default_currency']) ? ' selected="selected"' : '';

Can someone clear me up, please? :)

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

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

发布评论

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

评论(5

自找没趣 2024-10-07 04:44:14

这是三元运算符。它基本上是一行 if / else 。

例如,这些行 :

if (!empty($_POST['value'])) {
    $value = $_POST['value'];
} else {
    $value = "";
}

可以通过以下行缩短:

$value = (!empty($_POST['value'])) ? $_POST['value'] : "";

它可以使代码更易于阅读如果您不滥用它

It's the ternary operator. It's basically a if / else on one line.

For example, those lines :

if (!empty($_POST['value'])) {
    $value = $_POST['value'];
} else {
    $value = "";
}

can be shortened by this line :

$value = (!empty($_POST['value'])) ? $_POST['value'] : "";

It can make code easier to read if you don't abuse it.

蒗幽 2024-10-07 04:44:14
(condition ? val1 : val2)

如果 condition 为 true,则计算结果为 val1;如果 condition 为 false,则计算结果为 val2


从 PHP 5.3 开始,您可能还会看到一种更加晦涩的形式,省略了 val1

(val0 ?: val2)

如果 val0 计算结果为非 false,则计算结果为 val0 value,或 val2 否则。哎呀!


请参阅http://php.net/manual/en/language.operators.comparison。 php

(condition ? val1 : val2)

evaluates to val1 if condition is true, or val2 if condition is false.


Since PHP 5.3, you may also see an even more obscure form that leaves out val1:

(val0 ?: val2)

evaluates to val0 if val0 evaluates to a non-false value, or val2 otherwise. Yikes!


See http://php.net/manual/en/language.operators.comparison.php

谜兔 2024-10-07 04:44:14

它是 if 语句的简写,

您可以将该语句变成这样:

if ($key == $config['default_currency']) {
    $selected = ' selected="selected"';
} else {
    $selected = '';
}

It's shorthand for an if statement

You can turn that statement into this:

if ($key == $config['default_currency']) {
    $selected = ' selected="selected"';
} else {
    $selected = '';
}
未央 2024-10-07 04:44:14

它是三元条件运算符,就像在 C 中一样。

您的代码相当于:

if ($key == $config['default_currency'])
{
   $selected = ' selected="selected"';
}
else
{
   $selected = '';
}

It's the ternary conditional operator, just like in C.

Your code is equivalent to:

if ($key == $config['default_currency'])
{
   $selected = ' selected="selected"';
}
else
{
   $selected = '';
}
谁与争疯 2024-10-07 04:44:14

在伪代码中,

variable = (condition) ? statement1 : statement2

映射到

if (condition is true)
then
variable = statement1
else
variable = statement2
end if

In pseudocode,

variable = (condition) ? statement1 : statement2

maps to

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