PHP String str_getcsv() Function



The PHP String str_getcsv() function is used to parse a string input for fields in CSV format and returns an array containing the fields read. This function takes into consideration the locale settings. For example, if LC_CTYPE is en_US.UTF-8, data encoded in specific one-byte encodings can be processed incorrectly.

Syntax

Below is the syntax of the PHP String str_getcsv() function −

array str_getcsv(
   string $string,
   string $separator = ",",
   string $enclosure = "\"",
   string $escape = "\\"
):

Parameters

Here are the parameters of the str_getcsv() function −

  • $string − (Required) It is the string to parse.

  • $separator − (Optional) It is used to set the field delimiter.

  • $enclosure − (Optional) It is used to set the field enclosure character.

  • $escape − (Optional) It is used to set the escape character.

Return Value

The str_getcsv() function returns back an indexed array with the read fields in it.

Errors/Exceptions

If the separator or enclosure is less than one byte long, a ValueError is thrown.

If escape is not one byte long or is empty, it returns a ValueError.

PHP Version

First introduced in core PHP 5.3.0, the str_getcsv() function continues to function easily in PHP 7, and PHP 8.

Example 1

First we will show you the basic example of the PHP String str_getcsv() function to parse a simple CSV string with the default parameters (comma as separator, double quotes as enclosure).

<?php
   // Input CSV string
   $csvString = "Name,Age,City";
   // Parse the string
   $result = str_getcsv($csvString);

   // Display the result
   print_r($result);
?>

Output

Here is the outcome of the following code −

Array
(
   [0] => Name
   [1] => Age
   [2] => City
)

Example 2

In the below PHP code we will use the str_getcsv() function and parse a CSV string using a custom separator (|).

<?php
   // Input CSV string with custom separator
   $csvString = "ID|Name|Age|Location";

   // Parse the string with custom separator
   $result = str_getcsv($csvString, "|");

   // Display the result
   print_r($result);
?> 

Output

This will generate the below output −

Array
(
   [0] => ID
   [1] => Name
   [2] => Age
   [3] => Location
)

Example 3

Now the below code parses a CSV string using the str_getcsv() function with fields enclosed in double quotes.

<?php
   // Input CSV string with enclosed fields
   $csvString = "\"Ankit, Joshi\",25,\"New Delhi\"";
   // Parse the string
   $result = str_getcsv($csvString);

   // Display the result
   print_r($result);
?> 

Output

This will create the below output −

Array
(
   [0] => Ankit, Joshi
   [1] => 25
   [2] => New Delhi
)

Example 4

In the following example, we are using the str_getcsv() function to parse a CSV string like a certain separator (;), enclosure ('), and escape character (\\).

<?php
   // Input CSV string with custom separator, enclosure, and escape
   $csvString = "'Sourabh;Sharma';25;'New\\' Delhi'";
   // Parse the string with custom settings
   $result = str_getcsv($csvString, ";", "'", "\\");

   // Display the result
   print_r($result);
?> 

Output

Following is the output of the above code −

Array
(
   [0] => Sourabh;Sharma
   [1] => 25
   [2] => New\' Delhi
)
php_function_reference.htm
Advertisements