回答編集履歴

1

解説の追記

2015/08/05 01:53

投稿

ngyuki
ngyuki

スコア4514

test CHANGED
@@ -25,3 +25,97 @@
25
25
  }
26
26
 
27
27
  ```
28
+
29
+
30
+
31
+ ---
32
+
33
+
34
+
35
+ `$row` は次のような連想配列なので、
36
+
37
+
38
+
39
+ ```php
40
+
41
+ array(
42
+
43
+ 'id' => 123,
44
+
45
+ 'coloum_1' => "列1",
46
+
47
+ 'coloum_2' => "列2",
48
+
49
+ 'coloum_3' => "列3",
50
+
51
+ 'coloum_5' => "列5",
52
+
53
+ 'coloum_6' => "列6",
54
+
55
+ 'coloum_7' => "列7",
56
+
57
+ );
58
+
59
+ ```
60
+
61
+
62
+
63
+ 次のような配列を `array_diff_key` すると、
64
+
65
+
66
+
67
+ ```php
68
+
69
+ array(
70
+
71
+ 'coloum_7' => null,
72
+
73
+ );
74
+
75
+ ```
76
+
77
+
78
+
79
+ 次のようになります。
80
+
81
+
82
+
83
+ ```php
84
+
85
+ array(
86
+
87
+ 'id' => 123,
88
+
89
+ 'coloum_1' => "列1",
90
+
91
+ 'coloum_2' => "列2",
92
+
93
+ 'coloum_3' => "列3",
94
+
95
+ 'coloum_5' => "列5",
96
+
97
+ 'coloum_6' => "列6",
98
+
99
+ );
100
+
101
+ ```
102
+
103
+
104
+
105
+ 要するに `$rows['coloum_7']` を unset した新しい配列を作っているだけです。
106
+
107
+
108
+
109
+ ぶっちゃけ次のようにしても同じですしこの方が早いです。
110
+
111
+
112
+
113
+ ```php
114
+
115
+ $filteredRow = $row;
116
+
117
+ unset($filteredRow['coloum_7']);
118
+
119
+ ```
120
+
121
+