Reputation: 449
I have function which read csv file in the array. my code is
public function csvExtract()
{
$file_handle = fopen(text.csv, 'r');
while (!feof($file_handle) )
{
arraydata[] = fgetcsv($file_handle, 1024);
}
fclose($file_handle);
}
what i need is:
my file contain last row which has FINAL TOTAL
that row i want to skip .
how to do this. Can any one help me on this.
thank you.
Upvotes: 1
Views: 1705
Reputation: 6830
You can skip any loop in PHP with the continue
statement. This will only skip 1 iteration of the loop, as apposed to the break
statement, which will end the loop completely.
Using this, you can form a condition for when the loop should skip:
while (!feof($file_handle)) {
$csv = fgetcsv($file_handle, 1024);
// check your condition and skip if needed...
if (in_array('FINAL TOTAL', $csv)) continue;
$data[] = $csv;
}
Upvotes: 1
Reputation: 212412
Once you've finished your read loop:
end($arraydata);
$key = key($arraydata);
unset($arraydata[$key]);
or simply
array_pop($arraydata);
Upvotes: 2
Reputation: 5739
quick dirty solution
...
fclose($file_handle);
if($arraydata) {
unset($arraydata[count($arraydata)-1)]);
}
just "delete" the last row from your import
Upvotes: 0