Php 数据库中的数字列表(如果有)

Php 数据库中的数字列表(如果有),php,mysql,Php,Mysql,我的数据库如下所示: 表格:用户 列:第1天、第2天、第3天、第4天、第5天 行:空、1、1、1、空 以下是我想做的: if($row['day1'] == null) { $totalNullDays = '1' // '1' is for day1 } if($row['day2'] == null) { $totalNullDays = '2' // '2' is for day2 } etc... 最后,我希望这种格式的内容如下: $totalNullDays = '1

我的数据库如下所示:

表格:用户

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

:空、1、1、1、空

以下是我想做的:

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.

最好的方法是什么?谢谢。

使用数组,然后将它们与
内爆()组合起来。
。与其每天重复相同的代码,不如使用循环

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

对于($i=1;$i使用一个数组,然后将它们与
infrade()
组合。与其每天重复相同的代码,不如使用循环

$nullDays = array();
for ($i = 1; $i <= 5; $i++) {
    if ($row['day' . $i] === null) {
        $nullDays[] = $i;
    }
}
$totalNullDays = implode(', ', $nullDays);
$nullDays=array();
对于($i=1;$i我会这样做:

$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);
我会这样做:

$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);

这种模式违反了of。在任何情况下,如果你关心“性能”,你只需要担心它是否在一个大规模循环中(例如,数百万次迭代),否则开销将小得不可估量。这种模式违反of。在任何情况下,如果你关心“性能”你只需要担心它是否在一个巨大的循环中(例如,数百万次迭代),否则开销将非常小。Ops,前面的答案是一样的。也是一个更好的答案。Ops,前面的答案是一样的。也是一个更好的答案。