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
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
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

Add a Patch

Pull Requests

Add a Pull Request

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu May 16 20:01:34 2024 UTC