if else for PHP三元运算符使用数据表[重复]
Posted
技术标签:
【中文标题】if else for PHP三元运算符使用数据表[重复]【英文标题】:if else for PHP ternary operator using datatable [duplicate] 【发布时间】:2019-11-30 02:47:04 【问题描述】:我可以就我的 DataTable 寻求帮助吗?我担心三元运算符。它无法识别我为表格设置的参数。
这是我的桌子。
echo "
<tr>
<td>".$row['USERID']."</td>
<td>".$row['FINGERSCANNO']."</td>
<td>".$row['Date']."</td>
<td>".$row['Time']."</td>
<td>".(($row['CheckType']=='I') ? 'TIME-IN' : ($row['CheckType']=='O') ? 'TIME-OUT' : ($row['CheckType']=='i') ? 'OVERTIME-IN': ($row['CheckType']=='o') ? 'OVERTIME-OUT' : 'N/A')."</td>
<td>".(($row['VERIFY']==1)?'OK':"NEEDS VERIFICATION")."</td>
</tr>
";
?>
</tbody>
</table>
</div>
这一行
<td>".(($row['CheckType']=='I') ? 'TIME-IN' : ($row['CheckType']=='O') ? 'TIME-OUT' : ($row['CheckType']=='i') ? 'OVERTIME-IN': ($row['CheckType']=='o') ? 'OVERTIME-OUT' : 'N/A')."</td>
只有当我这样做时才有效
<td>".(($row['CheckType']=='I') ? 'TIME-IN' : 'TIME-OUT')."</td>
有解决办法吗? CHECKINOUT.CHECKTYPE AS CheckType
的值为 I、O、i、o。
【问题讨论】:
不要使用嵌套的三元运算符。使用多个 if-else-condition 或更好的 switch-case。 这种情况下switch case是最好的。 @GentleSama 我该怎么做?我可以问吗?<td>
在 echo()
内。
@SureshKamrushi 能否请您提供一个示例,我尝试这样做,但总是出错。
创建一个 switch-case 应用你想要的值到一个变量$result
然后回显$result
。
【参考方案1】:
您必须包装某些部分,否则读者不知道什么取决于什么。试试这个:
<td>".(($row['CheckType']=='I') ? 'TIME-IN' : (($row['CheckType']=='O') ? 'TIME-OUT' : (($row['CheckType']=='i') ? 'OVERTIME-IN': (($row['CheckType']=='o') ? 'OVERTIME-OUT' : 'N/A'))))."</td>
PS:实际上使用嵌套的三元运算符并不是那么好,因为它很难阅读。
【讨论】:
这就是我错过的。我现在可以嵌套,我可能很快就会改变。感谢您的帮助!以上是关于if else for PHP三元运算符使用数据表[重复]的主要内容,如果未能解决你的问题,请参考以下文章