作者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