代码之家  ›  专栏  ›  技术社区  ›  gillweb

为什么这个三元运算符不起作用?

  •  -2
  • gillweb  · 技术社区  · 6 年前

    我认为这个变量应该是很直接的,但它不起作用?如果设置了行,它会根据需要回显行,但是如果设置为“false”或“not set”,它不会打印“N/A”?我做错什么了吗?

    $term = isset($row['term']) ? $row['term'] : 'N/A';
    
    1 回复  |  直到 6 年前
        1
  •  5
  •   Mikey    6 年前

    我的建议是尝试以下方法:

    $term = !empty($row['term']) ? $row['term'] : 'N/A';
    

    $row['term'] 已设置,但没有值,因此仍属于真实条件。

    例如:

    $row = ['term' => ''];
    
    $term = isset($row['term']) ? $row['term'] : 'N/A';
    
    echo $term; // Prints ''