2009-08-04 13 views
4

配列に10秒ごとにデータを配置する必要があります。この配列を変更されたタイムスタンプでインデックスするのは愚かですか?アレイごとにインデックスを作成する(秒単位)

$ a [timestamp] = 54; $ a [タイムスタンプ+ 10] = 34;

またはJavascriptでsetInterval()を使用し、インデックスをAjax経由で渡す(私にとっては非常にうんざりです)?

、または私に最良の選択肢がありますか?

さらなる詳細:

  • 私は、配列内のエントリでリアルタイムにリンクする必要があります。これは私の問題です。 3サイクル目(開始時から21秒〜30秒)。
  • 保存するエントリは15個です。
  • 私の現在のコード:

    $ FIRST_TIME =(int型)日付( 'こんにちは');$ _SESSION ['mypile'] [$ first_time] = array_fill($ first_time、15、array( 'paramA' => 0、 'paramB' => 0));

、その後、Ajaxの一部は、このスクリプトを呼び出します。

$time = (int)date('Hi'); 
$_SESSION['mypile'][$time]['paramA'] = calcul_temp($_SESSION['mypile'], $time); 

答えて

0

私はタイムスタンプを10秒ごとに丸めることに決めました。タイムスタンプの有無にかかわらず、配列を取得する方法を作ることができます。シンプルで、愚かで、私のために働く。

ありがとうございました。

2

なぜあなたはプレーンな数値添字の配列を使用していないだろうか?あなたはその後、タイムスタンプを、必要がない場合:それぞれがあなたをオフセットで次に

$a[] = array('timestamp' => time(), 'number' => 54); 

$a[] = array('timestamp' => time(), 'number' => 34); 

:あなたはタイムスタンプを必要とした場合は

$a[] = 54; 

$a[] = 34; 

は、それはのような何かをするより理にかなってこれらの操作は、矢継ぎ早に起こる場合、あなたはおそらくを使用して良いだろう

echo 'Timestamp: ' . $a[0]['timestamp'] . ', Number: ' . $a[0]['number']; 

:もっと意味のある連想配列を持っています

+0

なぜそれが理にかなっていますか?なぜ時間とインデックスだけではないのですか? –

+0

私が追加したのと同様に、現在のタイムスタンプを配列にリンクする必要があります。 多分私はJavascriptでこれを行うでしょう... –

+0

それはうまくいきますが、単純な配列であればトラバースはもっと楽しいです。 – karim79

0

これは非常に良い解決策のようですが、スクリプトが長時間実行されている場合はメモリ使用量に注意する必要があります。

+0

私はより具体的であったはずです。私は15の値しか保持していません。 –

0

これはかなりばかです。時間間隔を設定した場合は、関数を10秒ごとに呼び出し、新しい番号を配列の次のインデックスに追加するだけです。このインデックスをグローバルに、または反復の範囲内で追跡します。

+0

タイムスタンプを記録する必要がある場合はどうすればいいですか?もしそうなら、これは良い方法です。 – BabyCakes

+0

10秒ごとに15回、停止します。 私もこの考え方を持っています.karim79はこう言っています。つまり、PHPは配列のインデックスを作成し、10秒ごとにPHP-ajaxを呼び出します。 –

+0

はい、まさにあなたがすべきことです。 – AlbertoPL

0
$a['timestamp'] = time(); 
while (true) { 
    $a['data'][] = getData(); 
    sleep(10); 
} 

あなたはそのクラスを作ることができます。次に、構造体はタイムスタンプを設定し、SPL配列のインデックスとイテレータをforeachでループし、いくつかの配列関数で使用することができます。

$dataCycle = new DataCycle(); 
while(true) { 
    $dataCycle->addData(getData()); 
    sleep(10); 
} 
+0

私はシステムをできるだけシンプルにしたい、それはPOCだ。 –

関連する問題