回答編集履歴

2

aa

2017/04/22 14:32

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -1,3 +1,51 @@
1
+ ```php
2
+
3
+ <?php
4
+
5
+
6
+
7
+ $array = [
8
+
9
+ [1 => 2],
10
+
11
+ [2 => 3],
12
+
13
+ [3 => 3],
14
+
15
+ [1 => 5],
16
+
17
+ [2 => 6],
18
+
19
+ ];
20
+
21
+
22
+
23
+ $array2 = [];
24
+
25
+ foreach ($array as $pair) {
26
+
27
+ if (!isset($array2[key($pair)])) $array2[key($pair)] = 0;
28
+
29
+ $array2[key($pair)] += current($pair);
30
+
31
+ }
32
+
33
+
34
+
35
+ var_export($array2);
36
+
37
+ ```
38
+
39
+
40
+
41
+ ----
42
+
43
+
44
+
45
+ 【別解】 最初から埋めておくのもあり
46
+
47
+
48
+
1
49
  ```php
2
50
 
3
51
  <?php

1

変更

2017/04/22 14:32

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -1,7 +1,3 @@
1
- PHP7.x向け
2
-
3
-
4
-
5
1
  ```php
6
2
 
7
3
  <?php
@@ -24,11 +20,11 @@
24
20
 
25
21
 
26
22
 
27
- $array2 = [];
23
+ $array2 = array_fill_keys(array_map('key', $array), 0);
28
24
 
29
25
  foreach ($array as $pair) {
30
26
 
31
- $array2[key($pair)] = ($array2[key($pair)] ?? 0) + current($pair);
27
+ $array2[key($pair)] += current($pair);
32
28
 
33
29
  }
34
30