SplFileObject::fputcsv

(PHP 5 >= 5.4.0, PHP 7)

SplFileObject::fputcsvフィールドの配列を CSV の行として書き出す

説明

public int SplFileObject::fputcsv ( array $fields [, string $delimiter = "," [, string $enclosure = '"' [, string $escape = "\" ]]] )

fields の配列を、CSV の行としてファイルに書き出します。

パラメータ

fields

値の配列。

delimiter

オプションで指定する、フィールドの区切り文字 (一文字のみ)。

enclosure

オプションで指定する。フィールドの囲み文字 (一文字のみ)。

escape

オプションの escape は、エスケープ文字 (一文字だけ) を指定します。

返り値

書き出した文字列の長さを返します。失敗した場合に FALSE を返します。

delimiterenclosure が一文字でない場合は FALSE を返し、何もファイルに書き出しません。

エラー / 例外

delimiterenclosure が一文字でない場合は E_WARNING レベルのエラーが発生します。

変更履歴

バージョン 説明
5.5.21, 5.6.5 escape パラメータが追加されました。

例1 SplFileObject::fputcsv() の例

<?php

$list 
= array (
    array(
'aaa''bbb''ccc''dddd'),
    array(
'123''456''789'),
    array(
'"aaa"''"bbb"')
);

$file = new SplFileObject('file.csv''w');

foreach (
$list as $fields) {
    
$file->fputcsv($fields);
}

?>

上の例は、次の内容をファイル file.csv に書き出します。

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""

参考

  • fputcsv() - 行を CSV 形式にフォーマットし、ファイルポインタに書き込む
  • SplFileObject::fgetcsv() - ファイルから行を取り出し CSV フィールドとして処理する

add a note add a note

User Contributed Notes 1 note

up
0
sergiy dot sokolenko at gmail dot com
5 years ago
This method is available in PHP 5.4 and it is just a wrapper over php.net/fputcsv.
To Top