私のJSONは次のようになります。
[{"NAME":"Burger Man","USER_ID":"14","TIMESTAMP":"1367668271","ACTION":"enabled"},
{"NAME":"Test McTest","USER_ID":"16","TIMESTAMP":"1368092635","ACTION":"disabled"},
{"NAME":"Test McTest","USER_ID":"16","TIMESTAMP":"1368132268","ACTION":"enabled"}]
このデータから、現在の日付までに人が活動していた日数を数えたいと思います。このデータで人物が 1 回だけ見つかった場合、それはその人物がずっとアクティブであることを意味し、2 回以上見つかった人物については、何らかの方法でアクティビティ時間をカウントする必要があります。
$data = json_decode(file_get_contents($url));
$workers2 = array();
foreach($data as $mydata){
$workers2[] = array($mydata->NAME, $mydata->ACTION, date('Y-m-d h:i:s',$mydata->TIMESTAMP));
}
echo '<pre>';
print_r($workers2);
echo '</pre>';
以下を出力します。
Array
(
[0] => Array
(
[0] => Burger Man
[1] => enabled
[2] => 2013-05-04 02:51:11
)
[18] => Array
(
[0] => Test McTest
[1] => disabled
[2] => 2013-05-09 12:43:55
)
[19] => Array
(
[0] => Test McTest
[1] => enabled
[2] => 2013-05-09 11:44:28
)
)
すべての名前を配列に挿入し、重複をチェックする必要があると思います。特定の名前に重複がない場合、私は彼がずっとアクティブであることを知っています. また、人はいつでもアクティブ化および無効化できます。このデータからすべての人の合計活動時間を取得するにはどうすればよいですか?