Search code examples
phpcsvfgetcsv

How to skip specific line from csv file using fgetcsv function


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.


Solution

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