php数组按键值对

时间:2015-10-16 10:42:50

标签: php arrays

我有一个这样的数组,它是通过在循环

中合并sql结果的数组而创建的
    array(175) {
[0]=> array(2) { ["TIMESTAMP"]=> string(10) "2015-10-09" ["ACR"]=> string(4) "4024" } 
[1]=> array(2) { ["TIMESTAMP"]=> string(10) "2015-10-10" ["ACR"]=> string(4) "4024" }
[2]=> array(2) { ["TIMESTAMP"]=> string(10) "2015-10-11" ["ACR"]=> string(4) "4024" }
[7]=> array(2) { ["TIMESTAMP"]=> string(10) "2015-10-09" ["ATC"]=> string(4) "4182" } 
[8]=> array(2) { ["TIMESTAMP"]=> string(10) "2015-10-10" ["ATC"]=> string(4) "4188" } 
[9]=> array(2) { ["TIMESTAMP"]=> string(10) "2015-10-11" ["ATC"]=> string(4) "4188" } 
[14]=> array(2) { ["TIMESTAMP"]=> string(10) "2015-10-09" ["BEL"]=> string(4) "1155" } 
[15]=> array(2) { ["TIMESTAMP"]=> string(10) "2015-10-10" ["BEL"]=> string(4) "1155" } 
[16]=> array(2) { ["TIMESTAMP"]=> string(10) "2015-10-11" ["BEL"]=> string(4) "1155" } 
}

并且需要按时间戳值

合并它
array(175) {
[0]=> array(2) { ["TIMESTAMP"]=> string(10) "2015-10-09" ["ACR"]=> string(4) "4024" ["ATC"]=> string(4) "4182" ["BEL"]=> string(4) "1155" } 
[1]=> array(2) { ["TIMESTAMP"]=> string(10) "2015-10-10" ["ACR"]=> string(4) "4024" ["ATC"]=> string(4) "4188" ["BEL"]=> string(4) "1155" }
[2]=> array(2) { ["TIMESTAMP"]=> string(10) "2015-10-11" ["ACR"]=> string(4) "4024" ["ATC"]=> string(4) "4188" ["BEL"]=> string(4) "1155"}
}

第二个数组是预期输出

任何想法如何?我已经尝试了很多方法如何组阵列,但没有做我需要的。 感谢

1 个答案:

答案 0 :(得分:0)

好的,我终于找到了这个解决方案

$merged = array();
foreach ($result as $item)
{
    $date = $item['TIMESTAMP'];
    if (!isset($merged[$date]))
    {
        $merged[$date] = array();
    }
    $merged[$date] = array_merge($merged[$date], $item);
}

然后返回数组,其中key是时间戳值。由于我需要morris.js折线图的这些数据,我不得不使用shuffle,现在我有阵列工作