Set the delimiter, enclosure and escape character for CSV

- « SplFileObject::seek

- SplFileObject::setFlags »

- PHP Manual
- SplFileObject
- Set the delimiter, enclosure and escape character for CSV

# SplFileObject::setCsvControl

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

SplFileObject::setCsvControl — Set the delimiter, enclosure and escape character for CSV

### Description

public SplFileObject::setCsvControl(string `$separator` = ",", string `$enclosure` = "\"", string `$escape` = "\\"): void

Sets the delimiter, enclosure and escape character for parsing CSV fields.

### Parameters

`separator`

  The field delimiter (one single-byte character only).

`enclosure`

  The field enclosure character (one single-byte character only).

`escape`

  The field escape character (at most one single-byte character). An empty string (`""`) disables the proprietary escape mechanism.

### Return Values

No value is returned.

### Changelog

Version | Description
--- | ---
7.4.0 | The `escape` parameter now also accepts an empty string to disable the proprietary escape mechanism.

### Examples

Example #1 SplFileObject::setCsvControl() example

    <?php$file = new SplFileObject("data.csv");$file->setFlags(SplFileObject::READ_CSV);$file->setCsvControl('|');foreach ($file as $row) {    list ($fruit, $quantity) = $row;    // Do something with values}?>

Contents of data.csv

    <?php
    apples|20
    bananas|14
    cherries|87
    ?>

### See Also

- SplFileObject::getCsvControl() - Get the delimiter, enclosure and escape character for CSV
- SplFileObject::fgetcsv() - Gets line from file and parse as CSV fields