2012-03-03 59 views
4

我有一个只读SQL表中的字段名为出席只能容纳两个值0或1。回声布尔字段是/否或其他值

这是怎么了打印领域的瞬间:

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

它只返回0或1 - 中价值出席场。我该如何回复对于0(即不参加)对于1 (即出席)

非常感谢提前!

回答

9

可以使用三元操作(又称在一些语言条件运算符)?:

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

此运算Comparison Operators手册页中提到的标题“三元运算符”下。

1

ternary operator是一个不错的选择:

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

如果你想从你的SQL查询得到的是/否直接使用IF声明:

SELECT IF attended THEN 'yes' ELSE 'no' AS attended 
FROM … 
1
$arr = array(1 => 'Yes', 0 => 'No); 

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

谢谢!我有点喜欢你的解决方案!我在我的语言文件中使用它来将bool转换为Yes/No。 – 2017-05-20 20:01:06

0

喜欢的东西:

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