函式名稱:SplFileObject::fgetcsv()
適用版本:PHP 5 >= 5.1.0, PHP 7
函式描述:SplFileObject::fgetcsv() 函式從 SplFileObject 物件中讀取一行 CSV 資料,並將其解析為一個陣列。
用法:
public array SplFileObject::fgetcsv ([ string $delimiter = "," [, string $enclosure = "\"" [, string $escape = "\\" ]]] )
引數:
- delimiter(可選):指定 CSV 資料中的欄位分隔符,預設為逗號(,)。
- enclosure(可選):指定用於包裹欄位的字元,預設為雙引號(")。
- escape(可選):指定用於轉義特殊字元的字元,預設為反斜槓(\)。
返回值:
- 如果成功讀取一行 CSV 資料,則返回包含欄位值的陣列。如果已到達檔案末尾,則返回 false。
示例:
假設我們有一個名為data.csv
的 CSV 檔案,內容如下:
id,name,age
1,John,25
2,Jane,30
3,Michael,35
我們可以使用 SplFileObject::fgetcsv() 函式來讀取該檔案的每一行資料:
$file = new SplFileObject('data.csv', 'r');
while (!$file->eof()) {
$data = $file->fgetcsv();
if ($data !== false) {
print_r($data);
}
}
$file = null; // 釋放資源
輸出結果:
Array
(
[0] => id
[1] => name
[2] => age
)
Array
(
[0] => 1
[1] => John
[2] => 25
)
Array
(
[0] => 2
[1] => Jane
[2] => 30
)
Array
(
[0] => 3
[1] => Michael
[2] => 35
)
以上示例程式碼開啟了一個名為data.csv
的檔案,並使用 while 迴圈逐行讀取資料。每次呼叫 SplFileObject::fgetcsv() 函式都會返回一個包含欄位值的陣列,直到檔案末尾為止。