私がしようとしているのは、当時の時間に関する「票」のグループ量です。時間(時間)に基づいてデータを効率的に分割する
は、私はこのようなデータを持っていると言う:
$array = array(
array('vote' => 'up', 'timestamp' => '1460514600'), //10.30am
array('vote' => 'up', 'timestamp' => '1460514600'), //10.30am
array('vote' => 'down', 'timestamp' => '1460514600'), //10.30am
array('vote' => 'up', 'timestamp' => '1460514600'), //10.30am
array('vote' => 'down', 'timestamp' => '1460514600'), //10.30am
array('vote' => 'up', 'timestamp' => '1460529000'), //2.30pm
array('vote' => 'up', 'timestamp' => '1460529000'), //2.30pm
array('vote' => 'down', 'timestamp' => '1460529000'), //2.30pm
);
私は現在、24時間ベースの時間にセクション、それに次き:
必要に応じてデータを返す$new = array();
foreach($array as $element){
$hour = date('H', $element['timestamp']);
if(!isset($new[$hour])){
$new[$hour] = array(
'up' => 0,
'down' => 0,
);
}
// check & add
switch($element['vote']){
case "up":
$new[$hour]['up']++;
break;
case "down":
$new[$hour]['down']++;
break;
}
}
:
Array
(
[10] => Array
(
[up] => 3
[down] => 2
)
[14] => Array
(
[up] => 2
[down] => 1
)
)
このセクションを行うより効率的な方法はありますか?たとえそれがMySQLから直接行うことは可能ですか?
querry – Rizier123
おそらくすべてなんとか私にとってはかなりよさそうだ - それについて考えていたが、それは高価ではないでしょうか? (*多くの多くのレコード*) –
@Dagonで – Darren