回答編集履歴

2

三項演算子で書き直し

2019/02/20 05:37

投稿

退会済みユーザー
test CHANGED
@@ -30,33 +30,15 @@
30
30
 
31
31
 
32
32
 
33
- foreach ($data as $key => $value) {
33
+ foreach ($data as $key => $value)
34
34
 
35
- if (array_key_exists($key, $result)) {
35
+ empty($result[$key]) ? $result[$key] = $value : $result[$key] += $value;
36
36
 
37
- $result[$key] += $value;
38
37
 
39
- } else {
40
38
 
41
- $result[$key] = $value;
39
+ foreach ($data2 as $key => $value)
42
40
 
43
- }
44
-
45
- }
46
-
47
- foreach ($data2 as $key => $value) {
48
-
49
- if (array_key_exists($key, $result)) {
41
+ empty($result[$key]) ? $result[$key] = $value : $result[$key] += $value;
50
-
51
- $result[$key] += $value;
52
-
53
- } else {
54
-
55
- $result[$key] = $value;
56
-
57
- }
58
-
59
- }
60
42
 
61
43
 
62
44
 
@@ -102,21 +84,9 @@
102
84
 
103
85
  foreach (array($data, $data2) as $arr)
104
86
 
105
- foreach ($arr as $key => $value) {
87
+ foreach ($arr as $key => $value)
106
88
 
107
- if (array_key_exists($key, $result)) {
89
+ empty($result[$key]) ? $result[$key] = $value : $result[$key] += $value;
108
-
109
- $result[$key] += $value;
110
-
111
- } else {
112
-
113
- $result[$key] = $value;
114
-
115
- }
116
-
117
- }
118
-
119
-
120
90
 
121
91
 
122
92
 

1

加筆修正

2019/02/20 05:37

投稿

退会済みユーザー
test CHANGED
@@ -63,3 +63,65 @@
63
63
  print_r($result);
64
64
 
65
65
  ```
66
+
67
+
68
+
69
+ おんなじコードを繰り返すのも芸がないので、
70
+
71
+
72
+
73
+ ```php
74
+
75
+ <?php
76
+
77
+
78
+
79
+ $data = array(
80
+
81
+ 'a' => 1,
82
+
83
+ 'b' => 2,
84
+
85
+ 'c' => 1,
86
+
87
+ );
88
+
89
+ $data2 = array(
90
+
91
+ 'a' => 1,
92
+
93
+ 'b' => 2,
94
+
95
+ 'c' => 3,
96
+
97
+ );
98
+
99
+ $result = array();
100
+
101
+
102
+
103
+ foreach (array($data, $data2) as $arr)
104
+
105
+ foreach ($arr as $key => $value) {
106
+
107
+ if (array_key_exists($key, $result)) {
108
+
109
+ $result[$key] += $value;
110
+
111
+ } else {
112
+
113
+ $result[$key] = $value;
114
+
115
+ }
116
+
117
+ }
118
+
119
+
120
+
121
+
122
+
123
+ print_r($result);
124
+
125
+ ```
126
+
127
+ とか。