php - 根据父数组的结果填充数组

标签 php database arrays

我有一个父数组,其中包含 年作为 1994年, 1995年, 1996年, 1997年, 1998年, 1999年, 2000年, 2005

另一方面,我从返回年份和计数的数据库中获取结果,现在,我想做的是根据父数组(年)填充一个数组,以生成类似结果以下:

Results being Generated by sql
+----------------+
 YEAR   |   Count
 1994   |    16
 1995   |    16
 1996   |    16
+----------------+

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

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

谢谢, 注意我希望如上所述在数组中生成结果,因为我必须将这些值传递给 highcharts(用于生成图表)

最佳答案

取决于$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,
)

关于php - 根据父数组的结果填充数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14090929/

相关文章:

php - 在 Mustache (php) 中使用点符号是不好的做法吗?

php - 使用简单 XML 添加具有相同名称的子元素

忽略 PHP max_execution_time(没有安全模式,没有共享主机,只有 localhost/windows7/php 5.3.1 和 Apache 超时为 300)

php - Codeigniter:如何使用 jQuery 添加带有复选框的列以进行多项选择和删除

mysql - 在 SQL 中使用表作为变量

Python JSON 添加键值对

类中的PHP方法不从数据库返回数据

mysql - 我可以在 GROUP BY 和 ORDER BY 上强制使用 2 个单独的索引吗?

database - Kubernetes 持久卷 : hostpath vs local and data persistence

php - 用php删除xml中标签值之间的空格