2015-10-16 84 views
1

合併我有一個數組這樣其通過合併的SQL結果陣列中循環PHP數組由鍵值對

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"} 
} 

的合併它第二陣列預計輸出

任何想法如何?我已經嘗試了很多方法來分組數組,但沒有做我所需要的。 感謝

+0

它應該如何成爲預期的輸出結果,您可以將它寫在您的問題中嗎? –

+0

真的有必要合併單獨的數據庫結果集嗎?如果您可以從一個(有序)結果集中的數據庫中檢索所有這些記錄,那麼分組操作就變成了將當前時間戳與最後一次看到的記錄進行比較的一個微不足道的問題... – eggyal

+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); 
} 

又在哪裏關鍵是時間戳值返回數組。因爲我需要morris.js折線圖的這些數據,所以我不得不使用shuffle,現在我有一個數組,它可以工作