将布尔字段回显为yes/no或其他值


Echo boolean field as yes/no or other values

我在名为的只读SQL表上有一个字段,参与只能包含两个值0或1。

这就是我目前打印字段的方式:

  echo "<td>" . $row['attended'] . "</td>";

它只返回0或1-参与字段中的值。我如何让它对0(即未参加)返回,或对1(即参加)返回

非常感谢!

您可以使用三元运算符(在某些语言中也称为条件运算符)?::

echo '<td>' . ($row['attended'] ? 'yes' : 'no') . '</td>';

在"三元运算符"标题下的"比较运算符"手册页中提到了该运算符。

$arr = array(1 => 'Yes', 0 => 'No);
echo "<td>" . $arr[$row['attended']] . "</td>";

三元运算符非常适合:

echo ($row['attended']?'yes':'no');

如果您想直接从sql查询中获得yes/no,请使用IF语句:

SELECT IF attended THEN 'yes' ELSE 'no' AS attended
FROM …

使用三元运算符。

echo "<td>" . ( $row['attended'] == 1 ? 'yes' : 'no' ). "</td>";

类似于:

echo('<td>'.(($row['attended']==1) ? 'yes' : 'no').'</td>');