【问题标题】:What means this line? [duplicate]这条线是什么意思? [复制]
【发布时间】:2020-01-22 16:47:00
【问题描述】:
$n = isset($_GET["n"]) ? $_GET['n'] : '';

我发现这个“方法”是为了在输入类型中插入内容之前避免错误..它有效..但我想详细解释这一行。谢谢!

【问题讨论】:

标签: php html forms get isset


【解决方案1】:

这称为if...elseternary operator 简写

(condition) ? true : false

左边有一个条件,如果它为真,则执行?之后的语句,否则执行:之后的语句。

【讨论】:

    【解决方案2】:

    叫做三元运算符

    三元运算符是if {} else {} 结构的简写。而不是这样写:

    if ($condition) {
        $result = 'foo' 
    } else {
        $result = 'bar'
    }
    

    你可以这样写:

    $result = $condition ? 'foo' : 'bar';
    

    如果此 $condition 计算结果为 true,则左侧操作数将分配给 $result。如果条件计算结果为false,将使用右手。

    你的情况

    如果设置了$_GET["n"] 的值,那么它将采用$_GET["n"] 的值。

    如果该值未设置,那么它将采用('') 值。

    $n = isset($_GET["n"]) ? $_GET['n'] : '';
    

    【讨论】:

      猜你喜欢
      • 2015-01-27
      • 1970-01-01
      • 2012-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-12
      相关资源
      最近更新 更多