簡體   English   中英

PHP數組通過鍵值對合並

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM