回答編集履歴

4

a

2016/04/03 17:43

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -120,4 +120,28 @@
120
120
 
121
121
 
122
122
 
123
- でどうぞ
123
+ でどうぞ
124
+
125
+
126
+
127
+ **【補足】**
128
+
129
+ 一応以下に手続き型で分かりやすく書いたバージョンも示しておきます.`foreach`でベターっと書くのが嫌いじゃなければこっちでもいいです.動作速度はこっちのほうが速いです.
130
+
131
+
132
+
133
+ ```php
134
+
135
+ $columns = [];
136
+
137
+ foreach ($entries as $i => $entry) {
138
+
139
+ foreach ($entry as $key => $value) {
140
+
141
+ $columns[$key][$i] = $value;
142
+
143
+ }
144
+
145
+ }
146
+
147
+ ```

3

a

2016/04/03 17:43

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -16,17 +16,13 @@
16
16
 
17
17
 
18
18
 
19
- // $entriesが空になる可能性がある場合はif分岐してくださ
19
+ // $entriesが以下の条件を満たしている前提のコード
20
20
 
21
- if ($entries) {
21
+ // $entriesは空にならない
22
22
 
23
- $columns = array_combine(array_keys(current($entries)), array_map(null, ...$entries));
23
+ // $entriesの各要素が必ず「date」「新規」「退会」の順番でキーを持つ
24
24
 
25
- } else {
26
-
27
- $columns = [];
25
+ $columns = array_combine(array_keys(current($entries)), array_map(null, ...$entries));
28
-
29
- }
30
26
 
31
27
 
32
28
 

2

a

2016/04/03 16:35

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -16,7 +16,17 @@
16
16
 
17
17
 
18
18
 
19
+ // $entriesが空になる可能性がある場合はif分岐してください
20
+
21
+ if ($entries) {
22
+
19
- $columns = array_combine(array_keys(current($entries)), array_map(null, ...$entries));
23
+ $columns = array_combine(array_keys(current($entries)), array_map(null, ...$entries));
24
+
25
+ } else {
26
+
27
+ $columns = [];
28
+
29
+ }
20
30
 
21
31
 
22
32
 

1

a

2016/04/03 16:32

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -106,7 +106,7 @@
106
106
 
107
107
  array_keys(current($entries)),
108
108
 
109
- call_user_func_array('array_map', array_merge([null], $entries)))
109
+ call_user_func_array('array_map', array_merge([null], $entries))
110
110
 
111
111
  );
112
112