X軸が秒単位、Y軸が何秒ごとの数を表したグラフを作る際に書いたコードなのですが、
データが増えすぎると処理時間が長くなるので、もっと処理速度の速いアルゴリズムはないでしょうか?
class JsonDate{
public $start_time;//エポックタイム
public $end_time;//エポックタイム
public $duration = 2;//単位は秒
function getDateCounts(){
$this->start_time = 1369706475;
$this->end_time = 1369706492;
/*
$dates配列の中身は昇順です
*/
$dates = array(
1369706475,
1369706477,
1369706478,
1369706479,
1369706481,
1369706486,
1369706486,
1369706487,
1369706489,
1369706492,
);
$dateCounts = array();
for($to = $this->start_time + $this->duration;$to < $this->end_time; $to+=$this->duration){
$from = $to - $this->duration;
if(!isset($dateCounts[$to]))$dateCounts[$to] = 0;
foreach ($dates as $i => $date){
if($from < $date ){
if($date <= $to){
$dateCounts[$to]++;
}else{
break;
}
}else{
unset($dates[$i]);
}
}
}
return $dateCounts;
}
}
$JD = new JsonDate();
$dateCounts = $JD->getDateCounts();
print_r($dateCounts);
結果は
(
[1369706477] => 1
[1369706479] => 2
[1369706481] => 1
[1369706483] => 0
[1369706485] => 0
[1369706487] => 3
[1369706489] => 1
[1369706491] => 0
)
No.1ベストアンサー
- 回答日時:
(私の頭がカタいだけかもしれませんが)ちょっとこれだけでは何をしているのか分かりづらいですねぇ・・・
とりあえず他の回答者さんのために整形したコード貼っておきます
http://ideone.com/Qk3Ld9
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- 英語 この英文は平易な反面格調高いですか? 1 2023/01/15 12:04
- 英語 この英語の問題が分かりません 3 2023/04/22 20:19
- Visual Basic(VBA) 順列をランダムに発生するプログラム 1 2022/11/16 12:16
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- 英語 If you reach for food to relive stress or to remov 2 2022/05/15 13:55
- 英語 できるだけ直訳で英語の翻訳をお願いします。(英語→日本語) 1 2022/10/15 20:59
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- その他(プログラミング・Web制作) python fbprophetについて 1 2022/09/29 19:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpでPEAR::DBを使っているので...
-
phpでcookieがうまく保存されない
-
index.phpって何ですか? 具体...
-
index.phpに入るには、どうすれ...
-
PHP8を使うと、大量のWarningが...
-
PHPSpreadsheetを使って関数を...
-
アンドロイドスマホでのphp ech...
-
Postgresの特定のカラムからス...
-
PHPのエラーの解消法について教...
-
PHP MySql ページング
-
ECCUBE4のページ管理でPHPを実...
-
PHPで画像の渡しが上手く行きま...
-
ログインした掲示板ですが、直...
-
ここで言う空文字の意味とは?
-
PHP でメールフォームを作成したい
-
MySQLの配置が変わったため、db...
-
phpのクラスメソッドの定義が長...
-
phpでクラスのメソッドで同名の...
-
アマゾンのような評価の星を選...
-
SFTPなどは使わないホームペー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
phpでcookieがうまく保存されない
-
なんでブラウザでPHPを動かすた...
-
PHP8を使うと、大量のWarningが...
-
ワードプレスサイト PHP8.0.25...
-
PHPSpreadsheetを使って関数を...
-
php 入力画面から確認表示画面...
-
PHPのエラーの解消法について教...
-
掲示板のセキュリティについて...
-
php 完了画面の送信メールのコ...
-
PHPのセッション有効期限について
-
掲示板を作成しておりアップロ...
-
PHPでCookieを使った訪問回数に...
-
PHPで画像の渡しが上手く行きま...
-
重複を防ぐ記述について教えて...
-
php 確認表示画面で値をSESSION...
-
ファイルアップロードに関して...
-
メールフォームのタイトルが文...
-
フォームで戻った際に入力済み...
-
PHPで訪問回数を表示するカウン...
-
アップロード画像数でCSSを分け...
おすすめ情報