2

是否有人能够解释以下语句的含义,以及它所指的 php 类型,以便我可以做进一步的研究:

$foo = ($variation_id>0) ? $variation_id : $item_id;

我已经尝试过搜索,但我真的不知道我在搜索什么。

我要找出的是以下语法的名称和含义 ?/:只是($variation_id>0)if 语句的简写?

- 我只是偶然发现了条件变量,尽管仍然会感谢一个很好的简单解释。

4

4 回答 4

4

该结构称为三元结构,简称为 If ... Else

你的片段:

$foo = ($variation_id>0) ? $variation_id : $item_id;

转换为

if($variation_id>0) {
   $foo = $variation_id;
} else {
   $foo = $item_id;
}

基本上,语法将归结为这样

$variable = (<CONDITION>) ? <TRUE EXPRESSION> : <FALSE EXPRESSION>;

您也可以在一行中组合多个三元结构,但是如果您使用 normal if 会更好,如果这太复杂了。

于 2012-04-10T23:16:02.717 回答
0

那是一个三元条件。如果'?'之前左边的条件 是真的,它执行'?'之后的语句 和冒号之前。如果不是,则执行后面的语句。

在英语中,这表示“如果变体 ID 大于零,则使用变体 ID,否则使用项目 ID”

于 2012-04-10T23:13:20.963 回答
0
$foo = ($variation_id>0) ? $variation_id : $item_id;

方法

if($variation_id>0) 
{
    $foo =$variation_id // if true
}
else
{
    $foo =$item_id; // if false
}

让我们刹车吧

$foo=($variation_id>0) ? // This is condition 
$variation_id : // This value will be populated by variable '$foo' if condition is true
$item_id;  // This value will be populated by variable '$foo' if condition is false

被称为三元语句/操作,快捷方式if else

于 2012-04-10T23:14:07.513 回答
0

这只是一个快捷方式,如下所示:

假设你有一个功能。

最后你想返回一个值,但如果值为 0 则例外。

所以你会这样做:

return ($value != 0) ? this_will_be_returned_if_true : this_will_be_returned_if_false;

你也可以在变量分配中做到这一点。

图案:

(Bool statement) ? true : false;
于 2012-04-10T23:14:57.797 回答