您好,
我需要用PHP显示的mysql数据库中有一堆tinyint字段。目前我正在做这样的事情:
if ($row['PAYPAL_ACCEPT'] == "1"){
$paypal = "Yes";
else
$paypal = "No";
}
对于每个字段,这是一个单调乏味的,似乎应该有一个更好的方法,而不是为每个字段使用if子句。如果有,那是什么?
答案 0 :(得分:3)
如果你想要试试:
$paypal = $row['PAYPAL_ACCEPT'] ? 'YES' : 'NO';
答案 1 :(得分:2)
像
这样的东西$paypal = ($row['PAYPAL_ACCEPT'] ? "Yes" : "No");
可能?
答案 2 :(得分:1)
基于已经建议的内容:
// $columns = string array of column names
// $columns = array('PAYPAL_ACCEPT' ... );
foreach($columns as $column) {
$$column = $row[$column] ? 'YES' : 'NO';
}
然后您可以使用列名作为变量名来访问变量:
print $PAYPAL_ACCEPT;
答案 3 :(得分:0)
你可以写得更短,如:
$paypal = ($row['PAYPAL_ACCEPT']?'Yes':'No');
答案 4 :(得分:0)
或者你可以使用不是tinyint但枚举值为'是'和'否',然后是简单的输出字段
$paypal = $row['PAYPAL_ACCEPT'];