HOWTO · PHP
在 PHP 中將陣列轉換為 CSV 檔案
在本教程中,學習如何在 PHP 中將陣列轉換為 CSV 檔案。
本頁內容
本教程將演示在 PHP 中使用 fputcsv() 函式將陣列轉換為 CSV 檔案。
在 PHP 中使用 fputcsv() 將陣列轉換為 CSV 檔案
fputcsv() 首先將一行格式化為逗號分隔值,然後將其寫入 CSV 檔案。它需要幾個引數,其中兩個是必需的,即 CSV 檔案和值陣列。
fputcsv() 會將一維陣列作為一行放入 CSV 檔案中。我們可以對多維陣列使用 foreach 迴圈將所有資料放入 CSV 檔案中。
成功時返回一串值;否則,它返回 False。
下面是使用 fputcsv() 的程式碼示例。
<?php
$data = array (
array('Delftstack1', 'Delftstack2', 'Delftstack3', 'Delftstack4'),
array('Delftstack1', 'Delftstack2', 'Delftstack3', 'Delftstack4'),
array('Delftstack1', 'Delftstack2', 'Delftstack3', 'Delftstack4'),
array('Delftstack1', 'Delftstack2', 'Delftstack3', 'Delftstack4')
);
//Create a CSV file
$file = fopen('Newfile.csv', 'w');
foreach ($data as $line) {
//put data into csv file
fputcsv($file, $line);
}
fclose($file);
?>
輸出:
上面的程式碼首先建立了一個 CSV 檔案,並將資料陣列一個一個寫入。
在 PHP 中使用 fputcsv() 將陣列轉換為 CSV 檔案並讀取該 CSV 檔案
下面的程式碼首先使用 fputcsv() 將給定陣列轉換為 CSV,並使用另外兩個引數 $delimiter 和 $enclosure。它讀取檔案並列印包含所有檔案資料的字串。
請參閱示例以更好地理解具有更多引數的 fputcsv() 函式。
<?php
$data = array(
array('Employee', 'Salary', 'Attendence', 'Company'),
array('Mark', '3000', '20','Delftstack'),
array('Shawn', '4000', '22','Delftstack'),
array('Mike', '3500', '21','Delftstack')
);
$delimiter = ','; //parameter for fputcsv
$enclosure = '"'; //parameter for fputcsv
//convert array to csv
$file = fopen('file.csv', 'w+');
foreach ($data as $data_line) {
fputcsv($file, $data_line, $delimiter, $enclosure);
}
$data_read="";
rewind($file);
//read CSV
while (!feof($file)) {
$data_read .= fread($file, 8192); // will return a string of all data separeted by commas.
}
fclose($file);
echo $data_read;
?>
輸出 1:
Employee,Salary,Attendence,Company
Mark,3000,20,Delftstack
Shawn,4000,22,Delftstack
Mike,3500,21,Delftstack
輸出: