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

Why is this ternary operator not working?

我认为这个变量会非常简单,但它不起作用?如果已设置,它确实会根据需要回显该行,但如果它是 "false" 或未设置,它不会打印 "N/A"?我是不是做错了什么?

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

我的建议是尝试以下操作:

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

您可能遇到这样一种情况,其中 $row['term'] 已设置但没有值,因此它仍然属于 true condition 条件。

例如:

$row = ['term' => ''];

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

echo $term; // Prints ''