为什么这个三元运算符不起作用?
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 ''
我认为这个变量会非常简单,但它不起作用?如果已设置,它确实会根据需要回显该行,但如果它是 "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 ''