【问题标题】:if else for PHP ternary operator using datatable [duplicate]if else for PHP三元运算符使用数据表[重复]
【发布时间】: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>

这一行

&lt;td&gt;".(($row['CheckType']=='I') ? 'TIME-IN' : ($row['CheckType']=='O') ? 'TIME-OUT' : ($row['CheckType']=='i') ? 'OVERTIME-IN': ($row['CheckType']=='o') ? 'OVERTIME-OUT' : 'N/A')."&lt;/td&gt;

只有当我这样做时才有效

&lt;td&gt;".(($row['CheckType']=='I') ? 'TIME-IN' : 'TIME-OUT')."&lt;/td&gt;

有解决办法吗? CHECKINOUT.CHECKTYPE AS CheckType 的值为 IOio

【问题讨论】:

  • 不要使用嵌套的三元运算符。使用多个 if-else-condition 或更好的 switch-case。
  • 这种情况下switch case是最好的。
  • @GentleSama 我该怎么做?我可以问吗? &lt;td&gt;echo() 内。
  • @SureshKamrushi 能否请您提供一个示例,我尝试这样做,但总是出错。
  • 创建一个 switch-case 应用你想要的值到一个变量$result 然后回显$result

标签: php html xampp sqlsrv


【解决方案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:实际上使用嵌套的三元运算符并不是那么好,因为它很难阅读。

【讨论】:

  • 这就是我错过的。我现在可以嵌套,我可能很快就会改变。感谢您的帮助!
猜你喜欢
  • 2021-03-31
  • 2015-06-05
  • 1970-01-01
  • 2010-12-12
  • 2021-01-03
  • 1970-01-01
  • 1970-01-01
  • 2019-05-09
相关资源
最近更新 更多