如何找到最后一次迭代:
这是一个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);
}
}