最後の反復を見つける方法:
while ループの例を次に示します。最後にコンマが追加されないように、最後の反復を見つける必要があります。これはどのように行われますか?
for($i=0;$i<count($files);$i++){
if (($handle = fopen($files[$i], "r")) !== FALSE) {
$isfirst = true;
while (($data = fgetcsv($handle, 1000, ',')) !== FALSE) {
if ($isfirst){
$isfirst = false;
continue;
}
$timestamp = strtotime($data[0].' '.$data[1]);
fputs($out, '['.(int)$timestamp.','.(float)$data[2].'],');
}
fclose($handle);
}
}
答え:
for($i=0;$i<count($files);$i++){
if (($handle = fopen($files[$i], "r")) !== FALSE) {
$isfirst = true;
$firstline = true;
while (($data = fgetcsv($handle, 1000, ',')) !== FALSE) {
if ($isfirst){
$isfirst = false;
continue;
}
if ($firstline) {
$timestamp = strtotime($data[0].' '.$data[1]);
fputs($out, '['.(int)$timestamp.','.(float)$data[2].']');
$firstline = false;
} else {
$timestamp = strtotime($data[0].' '.$data[1]);
fputs($out, ',['.(int)$timestamp.','.(float)$data[2].']');
}
}
fclose($handle);
}
}