【问题标题】:Does ternary operator can only do one kind of condition?三元运算符只能做一种条件吗?
【发布时间】:2012-08-03 10:12:56
【问题描述】:

三元使代码简洁易读,我很好奇如何将下面的if condition改为三元运算符:

var1 = if(true){'a'};

我尝试以下方法

var1 = true? 'a': ;

由于它与false 条件无关,我在: 之后留空,但显然它给了我一个错误。

有没有办法做到这一点?

--------更新---------

使用上面的例子的目的是为了简化问题,但是让大家更加困惑,所以我贴出我的原始代码:

if($_SERVER['REQUEST_METHOD'] == 'GET'){ $sub_count = 0; }

$sub_count = $_SERVER['REQUEST_METHOD'] == 'GET'? 0 : ;

如何将if条件改为三元?

【问题讨论】:

  • 是的,var1 = 'a'。你想做什么?
  • 尝试回答var1 = condition ? 'foo' : ; 的以下问题 - 如果condition 为假,var1 的值是多少?

标签: ternary


【解决方案1】:
$sub_count = null;
$sub_count = $_SERVER['REQUEST_METHOD'] == 'GET'? 0 : null;

// To check:
if(!isset($sub_count))
{
   // Do something because $_SERVER['REQUEST_METHOD'] != 'GET'
} else {
    if($sub_count===0)
    {
        // REQUEST METHOD IS GET
    }
}

【讨论】:

    猜你喜欢
    • 2022-01-06
    • 2017-02-08
    相关资源
    最近更新 更多