数据库中的数字列表if else

时间:2017-04-21 19:55:14

标签: php mysql

我的数据库是这样的:

表格:用户

:第1天,第2天,第3天,第4天,第5天

:null,1,1,1,null

这是我想要做的事情:

if($row['day1'] == null) {
    $totalNullDays = '1' // '1' is for day1
}
if($row['day2'] == null) {
    $totalNullDays = '2' // '2' is for day2
}
etc...

最后,我想要这样的格式:

$totalNullDays = '1, 5'; // because day1 and day5 are null.

这样做的最佳方式是什么?感谢。

2 个答案:

答案 0 :(得分:2)

使用数组,然后将它们与implode()合并。而不是每天重复所有相同的代码,使用循环。

$nullDays = array();
for ($i = 1; $i <= 5; $i++) {
    if ($row['day' . $i] === null) {
        $nullDays[] = $i;
    }
}
$totalNullDays = implode(', ', $nullDays);

答案 1 :(得分:1)

我会这样做:

$arrTotalNullDays = array();    
if($row['day1'] == null) {
  $arrTotalNullDays[] = '1' // '1' is for day1
}
if($row['day2'] == null) {
  $arrTotalNullDays[] = '2' // '2' is for day2
}
$totalNullDays = implode(', ', arrTotalNullDays);