php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Doc Bug #45596 $length in fgetcsv() is optional
Submitted: 2008-07-22 17:39 UTC Modified: 2008-11-05 10:37 UTC
From: gdpurdy at yahoo dot com Assigned: danbrown (profile)
Status: Closed Package: Documentation problem
PHP Version: Irrelevant OS:
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: gdpurdy at yahoo dot com
New email:
PHP Version: OS:

 

 [2008-07-22 17:39 UTC] gdpurdy at yahoo dot com
Description:
------------
Like pinkgothic at gmail dot com, 03-Apr-2007, I also found the documentation mildly misleading and also lacking a basic description.

"The length parameter ... became optional in PHP 5"
It IS required with PHP 4: 
array fgetcsv  ( resource $handle  , int $length  [, string $delimiter  [, string $enclosure  [, string $escape  ]]] )

fgetcsv is a specialized combination of fgets() and split() that reads a file and splits each record into an array based on $delimiter (default: comma) but ignoring any delimiters within $enclosure (default:double quotes)

$fp1=fopen($inputfile,"r");

while(!feof($fp1)){
        $record = fgetcsv($fp1,1000);
//  For example a csv record formatted as:
//  ,"Abels",,"Karen D.","123, Test blvd, Apt 7","Anytown","PA","19123-1234","610,644-1234",,,,,"""Harry""",

//  is stored as
print_r($record);    // (partially shown here)
Array ( [0] => [1] => Abels [2] => [3] => Karen D. [4] => 123, Test blvd, Apt 7  ...
[8] => 610,644-1234 ... [13] => "Harry" )

Any commas within a field were ignored and quotes within a field were handled correctly.


Patches

Pull Requests

 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Mon Jul 07 07:01:33 2025 UTC