Question

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.

Was it helpful?

Solution 2

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;
}

OTHER TIPS

Once you've finished your read loop:

end($arraydata);
$key = key($arraydata);
unset($arraydata[$key]);

or simply

array_pop($arraydata);

quick dirty solution

 ...
 fclose($file_handle);
 if($arraydata) {
    unset($arraydata[count($arraydata)-1)]);
 }

just "delete" the last row from your import

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top