在PHP中合并具有相同ID值的数组元素
我在PHP中有下面的数组。 Id和Total键对于相同的Id值是相同的。在PHP中合并具有相同ID值的数组元素
Array
(
[0] => Array
(
[id] => 1
[total] => 100
[line] => books
[value] => 10
)
[1] => Array
(
[id] => 1
[total] => 100
[line] => cars
[value] => 50
)
[2] => Array
(
[id] => 1
[total] => 100
[line] => cover
[value] => 30
)
[3] => Array
(
[id] => 2
[total] => 80
[line] => books
[value] => 5
)
[4] => Array
(
[id] => 2
[total] => 80
[line] => cover
[value] => 35
)
[5] => Array
(
[id] => 2
[total] => 80
[line] => cars
[value] => 40
)
)
我想合并数组内线路和Value元素。 为了说明我看到的结果是下面的数组。
Array
(
[0] => Array
(
[id] => 1
[total] => 100
[details] => Array
(
[0] => Array
(
[line] => books
[value] => 10
)
[1] => Array
(
[line] => cars
[value] => 50
)
[2] => Array
(
[line] => cover
[value] => 30
)
)
)
)
[1] => Array
(
[id] => 2
[total] => 80
[details] => Array
(
[0] => Array
(
[line] => books
[value] => 5
)
[1] => Array
(
[line] => cars
[value] => 35
)
[2] => Array
(
[line] => cover
[value] => 40
)
)
)
)
我正在使用PHP。谢谢你的帮助。
不够好无聊地做你的工作\功课你:
$out=array();
foreach($array as $x){
$out[$x['id']]['id']=$x['id'];
$out[$x['id']]['total']=$x['total'];
$out[$x['id']]['details'][]=array('line'=>$x['line'],'value'=>$x['value']);
}
注:
- 使用id作为了重点,可以加入我们自己的,但是这将工作 罚款。
- ID和总将在(每个键)每个回路被覆盖,但是这不是什么大不了的
- 线\值中有自己的细节阵列增加
哈哈,你是完全正确的,对不起,我心中有这么多东西,我选择发布我的问题。 PS:这是我的第一篇文章,我不确定如何将这个问题标记为正确的答案。 – user3216926
@ user3216926在问题左侧的投票下应该有一个复选标记,点击它会变成绿色:http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – 2015-11-04 02:08:15
我喜欢另一种绿色$$$$$ –
简单的foreach循环将工作 - 你需要在最少尝试一下 – 2015-11-03 23:55:00
欢迎来到Stack Overflow。请发布您迄今为止的尝试。 – Twisty