回答編集履歴

3

調整

2022/12/06 09:06

投稿

yambejp
yambejp

スコア114843

test CHANGED
@@ -1,162 +1,36 @@
1
- 状況と想定する結果がよくわかりませんが
1
+ ※大幅に割愛
2
- ```PHP
2
+ ```
3
- $a = [
3
+ $a=[
4
4
  [
5
- 'args' => [
6
- 'array_key' => [],
7
- ],
8
- 'defaults' => [
9
- 'array_key' => [
10
- [
11
- 'array_key_1' => 'array_defaults_value_1_1',
5
+ 'args' => ['string' => 'a'],
12
- 'array_key_2' => 'array_defaults_value_1_2',
13
- 'array_key_3' => 'array_defaults_value_1_3',
14
- ],
15
- ],
16
- ],
17
- ],
18
- [
19
- 'args' => [
20
- 'array_key' => [
21
- [
22
- 'array_key_1' => 'array_value_1_1',
23
- 'array_key_2' => 'array_value_1_2',
24
- ],
25
- [
26
- 'array_key_1' => 'array_value_2_1',
27
- 'array_key_2' => 'array_value_2_2',
28
- 'array_key_3' => 'array_value_2_3',
29
- ],
30
- ],
31
- ],
32
- 'defaults' => [
33
- 'array_key' => [
34
- [
35
- 'array_key_1' => 'array_defaults_value_1_1',
36
- 'array_key_2' => 'array_defaults_value_1_2',
37
- ],
38
- [
39
- 'array_key_1' => 'array_defaults_value_2_1',
6
+ 'defaults' => ['string' => 'b'],
40
- 'array_key_2' => 'array_defaults_value_2_2',
41
- ],
42
- [
43
- 'array_key_1' => 'array_defaults_value_3_1',
44
- 'array_key_2' => 'array_defaults_value_3_2',
45
- ],
46
- ],
47
- ],
48
7
  ],
49
8
  ];
9
+ ```
10
+
11
+ ```
12
+ $a=[
13
+ [
14
+ 'args' => ['string' => 'a'],
15
+ 'defaults' => ['string' => 'b'],
16
+ 'correct' => ['string' => 'a'],
17
+ ],
18
+ ];
19
+ ```
20
+ になればいいということであれば
21
+
22
+ ```PHP
23
+ $a=[
24
+ [
25
+ 'args' => ['string' => 'a'],
26
+ 'defaults' => ['string' => 'b'],
27
+ ],
28
+ ];
29
+
50
30
  foreach($a as &$b){
51
- $b["correct"]=array_merge_recursive($b["args"],$b["defaults"]);
31
+ $b["correct"]=$b["args"];
52
32
  }
53
33
  unset($b);
54
34
  print_r($a);
55
35
  ```
56
36
 
57
- ```PHP
58
- <?php
59
- $a = [
60
- [
61
- 'args' => [
62
- 'array_key' => [
63
- [
64
- 'array_key_1' => 'array_value_1_1',
65
- 'array_key_2' => 'array_value_1_2',
66
- ],
67
- [
68
- 'array_key_1' => 'array_value_2_1',
69
- 'array_key_2' => 'array_value_2_2',
70
- 'array_key_3' => 'array_value_2_3',
71
- ],
72
- ],
73
- ],
74
- 'defaults' => [
75
- 'array_key' => [
76
- [
77
- 'array_key_1' => 'array_defaults_value_1_1',
78
- 'array_key_2' => 'array_defaults_value_1_2',
79
- ],
80
- [
81
- 'array_key_1' => 'array_defaults_value_2_1',
82
- 'array_key_2' => 'array_defaults_value_2_2',
83
- ],
84
- [
85
- 'array_key_1' => 'array_defaults_value_3_1',
86
- 'array_key_2' => 'array_defaults_value_3_2',
87
- ],
88
- ],
89
- ],
90
- 'correct' => [
91
- 'array_key' => [
92
- [
93
- 'array_key_1' => 'array_value_1_1',
94
- 'array_key_2' => 'array_value_1_2',
95
- ],
96
- [
97
- 'array_key_1' => 'array_value_2_1',
98
- 'array_key_2' => 'array_value_2_2',
99
- 'array_key_3' => 'array_value_2_3',
100
- ],
101
- ],
102
- ],
103
- ],
104
- ];
105
- foreach($a as &$b){
106
- $b["correct"]=array_merge_recursive($b["args"],$b["defaults"]);
107
- }
108
- unset($b);
109
- print_r($a);
110
- ```
111
- ※argsのarray_keyが
112
- [
113
- 'array_key_1' => 'array_value_1_1',
114
- 'array_key_2' => 'array_value_1_2',
115
- ],
116
- [
117
- 'array_key_1' => 'array_value_2_1',
118
- 'array_key_2' => 'array_value_2_2',
119
- 'array_key_3' => 'array_value_2_3',
120
- ],
121
- ],
122
- でdefaultsのarray_keyが
123
- [
124
- 'array_key_1' => 'array_defaults_value_1_1',
125
- 'array_key_2' => 'array_defaults_value_1_2',
126
- ],
127
- [
128
- 'array_key_1' => 'array_defaults_value_2_1',
129
- 'array_key_2' => 'array_defaults_value_2_2',
130
- ],
131
- [
132
- 'array_key_1' => 'array_defaults_value_3_1',
133
- 'array_key_2' => 'array_defaults_value_3_2',
134
- ],
135
- ],
136
-
137
- なので、correctのarrray_keyは
138
- [
139
- 'array_key_1' => 'array_value_1_1',
140
- 'array_key_2' => 'array_value_1_2',
141
- ],
142
- [
143
- 'array_key_1' => 'array_value_2_1',
144
- 'array_key_2' => 'array_value_2_2',
145
- 'array_key_3' => 'array_value_2_3',
146
- ],
147
- ],
148
- [
149
- 'array_key_1' => 'array_defaults_value_1_1',
150
- 'array_key_2' => 'array_defaults_value_1_2',
151
- ],
152
- [
153
- 'array_key_1' => 'array_defaults_value_2_1',
154
- 'array_key_2' => 'array_defaults_value_2_2',
155
- ],
156
- [
157
- 'array_key_1' => 'array_defaults_value_3_1',
158
- 'array_key_2' => 'array_defaults_value_3_2',
159
- ],
160
- ],
161
-
162
- になりますよね?

2

調整

2022/12/06 06:53

投稿

yambejp
yambejp

スコア114843

test CHANGED
@@ -53,3 +53,110 @@
53
53
  unset($b);
54
54
  print_r($a);
55
55
  ```
56
+
57
+ ```PHP
58
+ <?php
59
+ $a = [
60
+ [
61
+ 'args' => [
62
+ 'array_key' => [
63
+ [
64
+ 'array_key_1' => 'array_value_1_1',
65
+ 'array_key_2' => 'array_value_1_2',
66
+ ],
67
+ [
68
+ 'array_key_1' => 'array_value_2_1',
69
+ 'array_key_2' => 'array_value_2_2',
70
+ 'array_key_3' => 'array_value_2_3',
71
+ ],
72
+ ],
73
+ ],
74
+ 'defaults' => [
75
+ 'array_key' => [
76
+ [
77
+ 'array_key_1' => 'array_defaults_value_1_1',
78
+ 'array_key_2' => 'array_defaults_value_1_2',
79
+ ],
80
+ [
81
+ 'array_key_1' => 'array_defaults_value_2_1',
82
+ 'array_key_2' => 'array_defaults_value_2_2',
83
+ ],
84
+ [
85
+ 'array_key_1' => 'array_defaults_value_3_1',
86
+ 'array_key_2' => 'array_defaults_value_3_2',
87
+ ],
88
+ ],
89
+ ],
90
+ 'correct' => [
91
+ 'array_key' => [
92
+ [
93
+ 'array_key_1' => 'array_value_1_1',
94
+ 'array_key_2' => 'array_value_1_2',
95
+ ],
96
+ [
97
+ 'array_key_1' => 'array_value_2_1',
98
+ 'array_key_2' => 'array_value_2_2',
99
+ 'array_key_3' => 'array_value_2_3',
100
+ ],
101
+ ],
102
+ ],
103
+ ],
104
+ ];
105
+ foreach($a as &$b){
106
+ $b["correct"]=array_merge_recursive($b["args"],$b["defaults"]);
107
+ }
108
+ unset($b);
109
+ print_r($a);
110
+ ```
111
+ ※argsのarray_keyが
112
+ [
113
+ 'array_key_1' => 'array_value_1_1',
114
+ 'array_key_2' => 'array_value_1_2',
115
+ ],
116
+ [
117
+ 'array_key_1' => 'array_value_2_1',
118
+ 'array_key_2' => 'array_value_2_2',
119
+ 'array_key_3' => 'array_value_2_3',
120
+ ],
121
+ ],
122
+ でdefaultsのarray_keyが
123
+ [
124
+ 'array_key_1' => 'array_defaults_value_1_1',
125
+ 'array_key_2' => 'array_defaults_value_1_2',
126
+ ],
127
+ [
128
+ 'array_key_1' => 'array_defaults_value_2_1',
129
+ 'array_key_2' => 'array_defaults_value_2_2',
130
+ ],
131
+ [
132
+ 'array_key_1' => 'array_defaults_value_3_1',
133
+ 'array_key_2' => 'array_defaults_value_3_2',
134
+ ],
135
+ ],
136
+
137
+ なので、correctのarrray_keyは
138
+ [
139
+ 'array_key_1' => 'array_value_1_1',
140
+ 'array_key_2' => 'array_value_1_2',
141
+ ],
142
+ [
143
+ 'array_key_1' => 'array_value_2_1',
144
+ 'array_key_2' => 'array_value_2_2',
145
+ 'array_key_3' => 'array_value_2_3',
146
+ ],
147
+ ],
148
+ [
149
+ 'array_key_1' => 'array_defaults_value_1_1',
150
+ 'array_key_2' => 'array_defaults_value_1_2',
151
+ ],
152
+ [
153
+ 'array_key_1' => 'array_defaults_value_2_1',
154
+ 'array_key_2' => 'array_defaults_value_2_2',
155
+ ],
156
+ [
157
+ 'array_key_1' => 'array_defaults_value_3_1',
158
+ 'array_key_2' => 'array_defaults_value_3_2',
159
+ ],
160
+ ],
161
+
162
+ になりますよね?

1

調整

2022/12/06 05:33

投稿

yambejp
yambejp

スコア114843

test CHANGED
@@ -1,4 +1,4 @@
1
- 状況がよくわかりませんが
1
+ 状況と想定する結果がよくわかりませんが
2
2
  ```PHP
3
3
  $a = [
4
4
  [
@@ -47,8 +47,9 @@
47
47
  ],
48
48
  ],
49
49
  ];
50
- foreach($a as $key=>&$b){
50
+ foreach($a as &$b){
51
51
  $b["correct"]=array_merge_recursive($b["args"],$b["defaults"]);
52
52
  }
53
+ unset($b);
53
54
  print_r($a);
54
55
  ```