作者sk1765 (愛是一種忍耐)
看板PHP
標題[請益] 兩陣列 如何join
時間Fri Mar 16 12:04:18 2012
array A [0] => [
'id' => '001',
'msg' => 'aaaaa'
]
[1] => [
'id' => '002',
'msg' => 'bbbb'
]
[2] => [
'id' => '001',
'msg' => 'cccc'
]
[3] => [
'id' => '002',
'msg' => 'dddd'
]
array B [0] => [
'id' => '001',
'name' => 'Mary',
]
[1] => [
'id' => '002',
'name' => 'John',
]
[2] => [
'id' => '003',
'name' => 'Jay',
]
[3] => [
'id' => '004',
'name' => 'Allen',
]
我想得到的結果是 一個陣列
就是第一個陣列裡也有依照第二個陣列裡的ID 把name對應上去
array result
[0] => [
'id' => '001',
'name' => 'Mary',
'msg' => 'aaaaa'
]
[1] => [
'id' => '002',
'name' => 'John',
'msg' => 'bbbb'
]
[2] => [
'id' => '001',
'name' => 'Mary',
'msg' => 'cccc'
]
[3] => [
'id' => '002',
'name' => 'John',
'msg' => 'dddd'
]
請問有函數有這樣join的功能嗎 或是程式要怎麼寫比較簡潔
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 175.181.46.55
1F:→ mervynW:array_merge 03/16 12:43
2F:推 kerash:樓上我剛剛才用 merge 測試完答案是不能 03/16 12:45
3F:→ kerash:他會變成一個長度 6 的陣列 03/16 12:45
4F:→ kerash:(說錯,我只測 3筆+3筆=6,原PO是4+4=8) 03/16 12:46
5F:→ sk1765:array_merge根本不可能依照相同key去merge 欄位 03/16 12:47
6F:推 kerash:這個的問題應該不是在key,而是他要要求同"ID" combine 03/16 12:49
7F:→ kerash:應該只能自己寫 function 下去跑 03/16 12:49
8F:→ sk1765:寫程式恐怕有問題 要寫兩層foreach 若是一萬筆資料該如何 03/16 13:03
9F:→ sk1765:如果能把id值 替換到數字索引 0,1,2,3 => 001,002,003,004 03/16 13:07
10F:→ sk1765:可能簡單一點 不知是否還有其他好辦法 03/16 13:08
11F:推 kerash:如果概念是,把id的value先提出來當key,再把所有的array 03/16 13:15
12F:→ kerash:merge起來會不會比較好一些? 03/16 13:15
13F:→ kerash:不過得先確認一下資料產出的結果是固定還是怎樣,假設id兩組 03/16 13:17
14F:→ kerash:會有不同的,這個方法應該就得修正 03/16 13:18
15F:→ MOONRAKER:先組id=>msg和id=>name兩組陣列出來,然後再合併 03/16 14:02
16F:→ MOONRAKER:There is no royal way. 03/16 14:03
17F:→ mervynW:沒看後面的說明 XDDDD 03/16 14:30
18F:→ MOONRAKER:看過啦 也沒啥別的方法吧 簡不簡潔只有靠寫程式習慣 03/16 15:18
19F:→ MOONRAKER:這種O(n)的事情很難再精簡了 03/16 15:19