Re: fgetcsv doesn't return an array?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 15, 2012 at 1:29 PM, Jay Blanchard
<jay.blanchard@xxxxxxxxxxxxxxxxxxx> wrote:
> On 3/15/2012 12:23 PM, Matijn Woudt wrote:
>>
>> On Thu, Mar 15, 2012 at 6:09 PM, Jay Blanchard
>> <jay.blanchard@xxxxxxxxxxxxxxxxxxx>  wrote:
>>>
>>> I thought that fgetcsv returned an array. I can work with it like an
>>> array
>>> but I get the following warning when using it
>>>
>>> |Warning:  implode(): Invalid arguments passed on line 155
>>>
>>> 154     $csvCurrentLine = fgetcsv($csvFile, 4096, ',');
>>> 155     $currentLine = implode(",", $csvCurrentLine);
>>> |
>>>
>>> Everything that I have read online indicates that it is because
>>> $csvCurrentLine is not declared as an array. Adding a line to the code
>>>
>>> 153 |$csvCurrentLine = array();
>>>
>>> Does not get rid of the warning. The warning isn't interfering with the
>>> script working, but it us annoying. Does anyone know the solution?
>>>
>>> Thanks!
>>>
>>> Jay
>>> |
>>
>> Are you using this in a loop or something? fgetcsv returns FALSE on
>> errors, including End Of File.
>>
>> [/snip]
>
> I am using it in a loop. End Of File is an error?

Yes.  "fgetcsv() returns NULL if an invalid handle is supplied or
FALSE on other errors, including end of file."

I usually use it in a while loop like this:

<?php

while ($row = fgetcsv($csvFilePointer)) {
    // ... process the row
}

?>

Andrew

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux