用php实现关联数组

用php实现关联数组,php,arrays,database,associative,Php,Arrays,Database,Associative,我需要创建一个关联数组,其中包含:日期和该日期的事件数 想象一下数据库中的这个表(XPTO): timestamp id parameter sensor_id 2013-09-10 12:43:54 1 34 3 2013-07-23 10:32:31 2 54 65 2013-07-23 10:32:31 3 23 45 2013-07-23 10:32:31 4 12

我需要创建一个关联数组,其中包含:日期和该日期的事件数

想象一下数据库中的这个表(XPTO):

timestamp            id  parameter  sensor_id
2013-09-10 12:43:54   1   34           3
2013-07-23 10:32:31   2   54          65
2013-07-23 10:32:31   3   23          45
2013-07-23 10:32:31   4   12          1
2013-09-10 12:43:54   5   1           43
现在,我想要的结果是: [09.10.2013 12:43:54, 2], [23.07.2013 10:32:31,3]. 有什么办法可以帮我吗?

SQL就可以了

$myarray = array();
$result = mysql_query("SELECT timestamp, count(id) FROM xpto GROUP BY timestamp");
while ($row = mysql_fetch_array($result))
    $myarray[$row[0]]=$row[1];
如果您想要完整信息而不是计数:

$myarray = array();
$result = mysql_query("SELECT * FROM xpto ORDER BY timestamp");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $timestamp=$row['timestamp'];
    unset($row['timestamp']);
    $myarray[$timestamp][]=$row;
}
现在您得到了这个数组:

[2013-07-23 10:32:31] => array (
                          array (
                              'id'=>2,
                              'parameter'=>54,
                              'sensor_id'=>65,
                          ),
                          array (
                              'id'=>3,
                              'parameter'=>23,
                              'sensor_id'=>45,
                          ),
...
请根据您的数据库连接类型(PDO等)修改以下代码。

SQL会起作用

$myarray = array();
$result = mysql_query("SELECT timestamp, count(id) FROM xpto GROUP BY timestamp");
while ($row = mysql_fetch_array($result))
    $myarray[$row[0]]=$row[1];
如果您想要完整信息而不是计数:

$myarray = array();
$result = mysql_query("SELECT * FROM xpto ORDER BY timestamp");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $timestamp=$row['timestamp'];
    unset($row['timestamp']);
    $myarray[$timestamp][]=$row;
}
现在您得到了这个数组:

[2013-07-23 10:32:31] => array (
                          array (
                              'id'=>2,
                              'parameter'=>54,
                              'sensor_id'=>65,
                          ),
                          array (
                              'id'=>3,
                              'parameter'=>23,
                              'sensor_id'=>45,
                          ),
...

请根据您的数据库连接类型(PDO等)修改以下代码

但是我如何创建一个包含特定日期事件的关联数组?我想我已经通过同时编辑回答了这个问题。但是我如何创建包含特定日期事件的关联数组?我想我已经通过同时编辑回答了这个问题。