2016-05-06 8 views
0

私が診断に苦労していますことを、PHPの配列に関する奇妙な問題を抱えています。私は、SQLデータベースから温度を読み取ってPHPgraphlibで表示するスクリプトを持っています。私は、データベースクエリからUnixエポックタイムスタンプをとり、人間が読める形式に変換します。これは、温度を格納する配列のキーとして使用されます。だから、私はループPHP配列キーエラー/問題

$unix_time = $row['DATE_TIME']; 
$human_date = date("md.h:i",$unix_time); 
$temp_array[$human_date] = $row['CURRENT_TEMP']; 

に下記た要約でIは、次いでphpgraphlibを使用して、結果を表示する: -

$graph->addData($temp_array); 

これは上の人間が読めるタイムスタンプ対y軸上に温度を表示しますバツ。

これは、1200年後にタイムスタンプを持つデータを表示停止したとき、それはその後、非常に奇妙でどの0000の後に再起動し、12正午まで、正常に動作するようです。同様に、キーとしてUnixエポックタイムスタンプ(1459799541のようなもの)を使用するだけで、データが表示されます。

は、私は長い間Unixエポック時間で/真昼の後に長すぎるのですキーの長さに制限はありますか?どのような助けが大いに感謝!

+3

私は 'phpgraphlib'を知らないが、 'H'は、他のAMとPM回のすべてがそうであるように1-12のように12正午から深夜12時は同じです。これにより、許可されていない重複キーが作成されます。 'H 'を24時間使用してみて、それが動作するかどうか確認してください。 – AbraCadaver

+0

良いprint_rとあなたの配列を見てください。あなたはAbraCadaverの提案を二重にチェックすることができます –

+0

そして...判決は? – AbraCadaver

答えて

1

phpgraphlibまたはそれがデータのために期待しているものはわかりませんが、hは12時間に区別するためにAMまたはPMが必要です。午後12時(正午)と午前12時(真夜中)は、他の午前と午後のすべての時間と同じです。これにより、許可されていない重複キーが作成される可能性があります。また、12月11日から12日にデータを取得すると、phpgraphlibが混乱している可能性があります。

24時間の時間のためにHを使用して試してみて、それが"md.H:i"を動作するかどうかを確認。

ないタイムスタンプが動作していない理由を確認してください。