php如何合并数组中的key相同的子数组

关注:179  答案:3  mip版

解决时间 2021-01-26 18:49

e6cb1a03ad541b3098697807b7bf1798.png

提问者孤独食人心

2021-01-26 05:21

$arr = array(

'0'=>array(

'platfrom'=>'2',

'account'=>'wei',

'country'=>'France',

'amount_total'=>'10',

'order_number'=>'3'

),

'1'=>array(

'platfrom'=>'2',

'account'=>'wei',

'country'=>'France',

'amount_total'=>'20',

'order_number'=>'5'

),

'2'=>array(

'platfrom'=>'1',

'account'=>'wei',

'country'=>'中国',

'amount_total'=>'20',

'order_number'=>'10'

),

'3'=>array(

'platfrom'=>'2',

'account'=>'wei',

'country'=>'中国',

'amount_total'=>'20',

'order_number'=>'6'

),

'4'=>array(

'platfrom'=>'2',

'account'=>'yong',

'country'=>'France',

'amount_total'=>'20',

'order_number'=>'5'

),

);

如何合并数组中的这两个数组,其中'amount_total'、'order_number'的值两个数组累加!

'0'=>array(

'platfrom'=>'2',

'account'=>'wei',

'country'=>'France',

'amount_total'=>'10',

'order_number'=>'3'

),

'1'=>array(

'platfrom'=>'2',

'account'=>'wei',

'country'=>'France',

'amount_total'=>'20',

'order_number'=>'5'

),

需要整个$arr进行处理。

不能用太多的foreach

最佳答案

e6cb1a03ad541b3098697807b7bf1798.png

二级知识专家清欢话寂寥

2021-01-26 06:01

像这个样子:

1

2

3

4

array(

['pid'] => 6,

['title']=> '/thumb_525d615760eb0.jpg,/thumb_525d615708f2d.jpg,/thumb_525d615699a77.jpg'

)

你的第一个值一直是6吗?还是都叠加在一起,变成666?

如果是就一个6的话,可以这样:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

$arr = array(3) {

[0] => array(2) {

["pid"] => string(1) "6"

["title"] => string(24) "/thumb_525d615760eb0.jpg"

}

[1] => array(2) {

["pid"] => string(1) "6"

["title"] => string(24) "/thumb_525d615708f2d.jpg"

}

[2] => array(2) {

["pid"] => string(1) "6"

["title"] => string(24) "/thumb_525d615699a77.jpg"

}

}

//以上是你自己的,

//加上我的::

$new_arr = array();

foreach($arr as $key=>$value){

for($i = 0;$i <= count_array($value);$i++){

$new_arr[$i] = .$value[$i];

}

}

这个$new_arr数组里面就把数据整合好了

?>

全部回答

e6cb1a03ad541b3098697807b7bf1798.png

1楼儚迴从偂

2021-01-26 06:28

遍历 然后逻辑处理下

e6cb1a03ad541b3098697807b7bf1798.png

2楼那年夏天

2021-01-26 06:18

像这个样子: 1 2 3 4 array( ['pid'] => 6, ['title']=> '/thumb_525d615760eb0.jpg,/thumb_525d615708f2d.jpg,/thumb_525d615699a77.jpg' ) 你的第一个值一直是6吗?还是都叠加在一起,变成666? 如果是就一个6的话,可以这样: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 <?php $arr = array(3) { [0] => array(2) { ["pid"] => string(1) "6" ["title"] => string(24) "/thumb_525d615760eb0.jpg" } [1] => array(2) { ["pid"] => string(1) "6" ["title"] => string(24) "/thumb_525d615708f2d.jpg" } [2] => array(2) { ["pid"] => string(1) "6" ["title"] => string(24) "/thumb_525d615699a77.jpg" } } //以上是你自己的, //加上我的:: $new_arr = array(); foreach($arr as $key=>$value){ for($i = 0;$i <= count_array($value);$i++){ $new_arr[$i] = .$value[$i]; } } 这个$new_arr数组里面就把数据整合好了 ?>

我要举报

如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

→点此我要举报以上信息!←

推荐资讯

大家都在看

评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!