回答編集履歴

2

Refactor

2020/06/30 09:20

投稿

y_shinoda
y_shinoda

スコア3272

test CHANGED
@@ -60,19 +60,25 @@
60
60
 
61
61
  foreach (array_keys($array1 + $array2) as $key1) {
62
62
 
63
- $sums[$key1] = array();
63
+ $merged = array();
64
64
 
65
- foreach(array_keys($array1[$key1] + $array2[$key1]) as $key2) {
65
+ $array11 = $array1[$key1];
66
66
 
67
+ $array21 = $array2[$key1];
68
+
69
+ foreach(array_keys($array11 + $array21) as $key2) {
70
+
67
- $sums[$key1][$key2] = $array1[$key1][$key2];
71
+ $merged[$key2] = $array11[$key2];
68
72
 
69
73
  if (is_int($array1[$key1][$key2])) {
70
74
 
71
- $sums[$key1][$key2] += $array2[$key1][$key2];
75
+ $merged[$key2] += $array21[$key2];
72
76
 
73
77
  }
74
78
 
75
79
  }
80
+
81
+ $sums[$key1] = $merged;
76
82
 
77
83
  }
78
84
 

1

Refactor

2020/06/30 09:20

投稿

y_shinoda
y_shinoda

スコア3272

test CHANGED
@@ -58,17 +58,17 @@
58
58
 
59
59
 
60
60
 
61
- foreach (array_keys($array1 + $array2) as $key_depth_1) {
61
+ foreach (array_keys($array1 + $array2) as $key1) {
62
62
 
63
- $sums[$key_depth_1] = array();
63
+ $sums[$key1] = array();
64
64
 
65
- foreach(array_keys($array1[$key_depth_1] + $array2[$key_depth_1]) as $key_depth_2) {
65
+ foreach(array_keys($array1[$key1] + $array2[$key1]) as $key2) {
66
66
 
67
- $sums[$key_depth_1][$key_depth_2] = $array1[$key_depth_1][$key_depth_2];
67
+ $sums[$key1][$key2] = $array1[$key1][$key2];
68
68
 
69
- if (is_int($array1[$key_depth_1][$key_depth_2])) {
69
+ if (is_int($array1[$key1][$key2])) {
70
70
 
71
- $sums[$key_depth_1][$key_depth_2] += $array2[$key_depth_1][$key_depth_2];
71
+ $sums[$key1][$key2] += $array2[$key1][$key2];
72
72
 
73
73
  }
74
74