International PHP Conference 2019 - Spring Edition

SplFileObject::getCsvControl

(PHP 5 >= 5.2.0, PHP 7)

SplFileObject::getCsvControlCSV の区切り、囲み文字、エスケープ文字を取得する

説明

public array SplFileObject::getCsvControl ( void )

CSV フィールドを処理するのに使われる区切りと囲み文字とエスケープ文字を取得します。

パラメータ

この関数にはパラメータはありません。

返り値

区切りと囲み文字とエスケープ文字を含む数字添字配列を返します。

変更履歴

バージョン 説明
5.6.25, 7.0.10 返り値の配列にエスケープ文字が追加されました。

例1 SplFileObject::getCsvControl() の例

<?php
$file 
= new SplFileObject("data.txt");
print_r($file->getCsvControl());
?>

上の例の出力は、 たとえば以下のようになります。

Array
(
    [0] => ,
    [1] => "
    [2] => \
)

参考

add a note add a note

User Contributed Notes 2 notes

up
16
greg dot bowler at g105b dot com
3 years ago
Note that this function does not magically guess the CSV control from a given file, rather it returns what has been priorly set with SplFileObject::setCsvControl().
up
6
Anonymous
5 years ago
Seems that this function always returns the same delimiter.

<?php
file_put_contents
("A;B;C;D\n0;0;0;0", "test.txt");

$file = new SplFileObject("test.txt");
var_dump($file->getCsvControl());
?>

array(2) {
  [0]=>
  string(1) ","
  [1]=>
  string(1) """
}
To Top