0

数据库表中有多个与客户相关的条目。每个条目将有 time_1、time_2、time_3、time_4、time_5 和 time_6 字段。我已经遍历了这些条目,并使用它来结合这些时间来创建一天的循环:

while($row=mysql_fetch_assoc($script_check))
        {
            $prerounds = array_filter($row);
            $rounds = array_unique(array_merge($prerounds));    
        }

但是,如果一个条目设置了 1-4 次,而第二个条目设置了 1-3 次,则此方法有效,第四次将被完全删除,因此只有 1-3 次被放入数组中。当某些字段为空白时,如何组合这些字段而不会丢失数据?到目前为止,此策略是去除所有空白的 $row,然后将其合并在一起以创建一组与该客户当天相关的回合时间。谢谢。

4

1 回答 1

1

正如OP所要求的:

基本上,您的主要问题是您在每次迭代时都重新初始化$rounds,您没有将任何现有数组与新数组合并。

$rounds = array();
while($row = $pdo->fetch(PDO::FETCH_ASSOC))
{
    $rounds = array_merge($rounds, array_unique(array_filter($row)));
}

嗯……除了mysql_*被弃用(这就是我在片段中使用 PDO 的原因),你应该真正检查你的逻辑……也许一个像样的查询可能更合适,或者一组简单的if's。这样甚至可能更快

于 2013-09-03T14:17:19.107 回答