csvファイルを取得し、それを配列に入れて、その配列をhtmlテーブルに表示するためのphpコードがいくつかあります。このコードは、複数(約10)列のデータファイルに使用されます。データポイントを小数点以下2桁に丸めたいのですが、$ val = round($ val、2)を使用してこれを行うことができました。ただし、コード内で使用すると、時間列の形式も変更されるため、12:00ではなく12が表示されます。時間列をそのままにして配列内の特定の列の10進数形式を変更する方法を知っている人がいる場合は、お知らせ下さい。これが私が今持っているコードです:
$out = '';
echo "<th> Time </th><th> Temperature </th><th> Speed </th>";
$handle = fopen("fakedata.csv", "r");
$columns = array(1,3,5);
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$out = ("<tr>\r\n").$out;
foreach ($data as $index=>$val) {
if (in_array($index+1, $columns))
{
$val = round($val, 2);
$out = ("\t<td>$val</td>\r\n").$out;
}
}
echo("</tr>\r\n");
} //end while
echo $out;
echo "\n</table></body></html>";
($ outのものがおかしいことは知っていますが、行の順序を反転して最新のデータを最初に表示します)。とにかく、私の主な問題は、csv配列の特定の行の小数点以下の形式を変更することです。この場合、$column[3]または3番目の列のみを小数点以下2桁に変更します。助けてくれてありがとう。