[英]php array merge by key value pair
我有一個這樣的數組,它是通過在循環中合並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"}
}
第二個數組是預期的輸出
任何想法如何? 我已經嘗試了多種方法來對數組進行分組,但是並沒有做我需要的事情。 謝謝
好的,我終於找到了這個解決方案
$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,現在我有了可以正常工作的數組
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.