我需要显示员工在办公室中的状态,下面的代码可以工作,但我想在当时只显示一张图片,以显示员工是否在办公室。目前,例如,如果员工在他的出勤时加盖了am_in然后am_out,则会显示两张图片。
if ($row_io['am_in'] == !NULL || $row_io['pm_in'] == !NULL) {
echo '<img src="../images/in.png">';
}
else ($row_io['am_out'] == !NULL || $row_io['pm_out'] == !NULL) {
echo '<img src="../images/out.png">';
}
答案 0 :(得分:1)
您应该将决策逻辑与输出分开,因此调试更容易:
$isEmployeeIn = isEmployeeIn($row_io);
printf('<img src="../images/%s.png>', $isEmployeeIn ? 'in' : 'out');
然后,您将逻辑所需的任何内容放入isEmployeeIn
,并且分开的输出会注意您一次只显示一个图像。
顺便说一下:
$row_io['am_in'] == !NULL || $row_io['pm_in'] == !NULL
相当于:
$row_io['am_in'] || $row_io['pm_in']
尝试将代码减少到最小,这样就不会犯那么多错误。