回答編集履歴

1

イバラの道

2015/07/10 06:58

投稿

ngyuki
ngyuki

スコア4514

test CHANGED
@@ -73,3 +73,119 @@
73
73
 
74
74
 
75
75
  ※ PHP 5.5.0 以上が必要
76
+
77
+
78
+
79
+ ---
80
+
81
+
82
+
83
+ あえて array 系関数を使わないイバラの道を往くなら・・・
84
+
85
+
86
+
87
+ ```lang-php
88
+
89
+ <?php
90
+
91
+ $arr = array(
92
+
93
+ "upload_id,zip_password",
94
+
95
+ "9999999,pass99912345",
96
+
97
+ "aaa9999,passaaa12345",
98
+
99
+ "bbb9999,passbbb12345",
100
+
101
+ );
102
+
103
+
104
+
105
+ $keys = null;
106
+
107
+ $result = array();
108
+
109
+
110
+
111
+ foreach ($arr as $a) {
112
+
113
+ $a = explode(',', $a);
114
+
115
+ if ($keys === null) {
116
+
117
+ $keys = $a;
118
+
119
+ $result = array();
120
+
121
+ foreach ($a as $k) {
122
+
123
+ $result[$k] = array();
124
+
125
+ }
126
+
127
+ }
128
+
129
+ else {
130
+
131
+ foreach ($a as $i => $v) {
132
+
133
+ $result[$keys[$i]][] = $v;
134
+
135
+ }
136
+
137
+ }
138
+
139
+ }
140
+
141
+
142
+
143
+ var_dump($result);
144
+
145
+ /*
146
+
147
+ array(2) {
148
+
149
+ 'upload_id' =>
150
+
151
+ array(3) {
152
+
153
+ [0] =>
154
+
155
+ string(7) "9999999"
156
+
157
+ [1] =>
158
+
159
+ string(7) "aaa9999"
160
+
161
+ [2] =>
162
+
163
+ string(7) "bbb9999"
164
+
165
+ }
166
+
167
+ 'zip_password' =>
168
+
169
+ array(3) {
170
+
171
+ [0] =>
172
+
173
+ string(12) "pass99912345"
174
+
175
+ [1] =>
176
+
177
+ string(12) "passaaa12345"
178
+
179
+ [2] =>
180
+
181
+ string(12) "passbbb12345"
182
+
183
+ }
184
+
185
+ }
186
+
187
+ */
188
+
189
+ ```
190
+
191
+