質問編集履歴

2

解決2

2016/10/13 09:27

投稿

Z-TALBO
Z-TALBO

スコア525

test CHANGED
File without changes
test CHANGED
@@ -137,3 +137,49 @@
137
137
  bcadd()というのを初めて知りました、、、
138
138
 
139
139
  これにより、最終的に計算された値を返すことができました!
140
+
141
+
142
+
143
+ ###もう一つの解決策
144
+
145
+ ```PHP
146
+
147
+ // 出勤の部分だけを抽出とします
148
+
149
+ $sec_in_array = array(); // 配列用の初期化 していないとエラー
150
+
151
+ $in_time = in_time_db(); // DBからデータを抽出して代入
152
+
153
+ foreach($in_time as $in){
154
+
155
+ $in_date = $in['dakoku_time']; // 日時が抽出されました
156
+
157
+ $substr_in = substr($in_date, 11, 18); // 時刻だけになりました09:00:00
158
+
159
+ $sec_in = h2s($in_date); // function使ってますが、とりあえず32400にはなりました
160
+
161
+ // やはり配列じゃなくなっているのが原因なので、配列に戻す
162
+
163
+ array_push($sec_in_array, $sec_in);
164
+
165
+ }
166
+
167
+ // ループから出てから計算
168
+
169
+ $sum_in = array_sum($sec_in_array);
170
+
171
+ return $sum_in;
172
+
173
+ ```
174
+
175
+ ということで、今回はいろいろ勉強になりました。
176
+
177
+ ループ内で計算して出してくるのか?
178
+
179
+ ループ外で計算するのか?
180
+
181
+ どちらも知ることができて大変感謝です。
182
+
183
+
184
+
185
+ 今回は、上記二つの方法でどちらが自分に合ってるかなどを考えつつ、やってみたいと思います。

1

解決

2016/10/13 09:27

投稿

Z-TALBO
Z-TALBO

スコア525

test CHANGED
File without changes
test CHANGED
@@ -107,3 +107,33 @@
107
107
  説明が下手で不足している情報があるかと思いますので、ご指摘ください。
108
108
 
109
109
  よろしくお願いします。
110
+
111
+
112
+
113
+ ###今回の解決策
114
+
115
+ ```PHP
116
+
117
+ // 出勤の部分だけを抽出とします
118
+
119
+ $in_time = in_time_db(); // DBからデータを抽出して代入
120
+
121
+ foreach($in_time as $in){
122
+
123
+ $in_date = $in['dakoku_time']; // 日時が抽出されました
124
+
125
+ $substr_in = substr($in_date, 11, 18); // 時刻だけになりました09:00:00
126
+
127
+ $sec_in = h2s($in_date); // function使ってますが、とりあえず32400にはなりました
128
+
129
+ $sum_in = bcadd($sum_in, $sec_in);
130
+
131
+ }
132
+
133
+ return $sum_in;
134
+
135
+ ```
136
+
137
+ bcadd()というのを初めて知りました、、、
138
+
139
+ これにより、最終的に計算された値を返すことができました!