2

我有一个包含年份的父数组 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2005

另一方面,我从我的数据库中获取返回 year 和 count 的结果,现在,我要做的是根据父数组(年)填充一个数组,以便为​​以下内容生成结果:

由 sql 生成的结果
+----------------+
 年份 | 数数
 1994 | 16
 1995 | 16
 1996 | 16
+----------------+

数组应存储以下值,以检查 sql 查询结果是否包含父数组年份的结果

1994 | 16
1995 | 16
1996 | 16
1997 | 0
1998 | 0
1999 | 0
2000 | 0
2005 | 0

谢谢,注意我希望在上面提到的数组中生成reuslt,因为我必须将这些值传递给highcharts(用于生成图形)

4

1 回答 1

2

取决于如何$years_db构建,这里是一个例子:

$years       = array(1994, 1995, 1996, 1997, 1998, 1999, 2000, 2005);
$years_db    = array(1994 => 16, 1995 => 16, 1996 => 16);

$array_temp = array();
foreach ($years as $year)
{
    /* if (in_array($year, array_keys($years_db)))
     * $array_temp[$year] = $years_db[$year];
     * else
     * $array_temp[$year] = 0;
     */

    // @gumbo suggestion is more efficient. THX!
    $array_temp[$year] = isset($years_db[$year]) ? $years_db[$year] : 0;
}

output of $array_temp:
array (
  1994 => 16,
  1995 => 16,
  1996 => 16,
  1997 => 0,
  1998 => 0,
  1999 => 0,
  2000 => 0,
  2005 => 0,
)
于 2012-12-30T13:10:21.273 回答