我有三个数组:
$first_array = array('val11','val21','val31');
$Second_array = array('val12','val22','val32');
$third_array = array('val13','val23','val33');
是否可以使用php的fgetcsv()
函数存储该数组值到每列,我的意思是,
first_array应该存储在第一列,
第二个数组在第二列和第三到第三..所以数据应该是
val11 val12 val31
val21 val22 val32
val31 val32 val33
无论如何,请让我知道。由于 最简单的方法是将数组从列翻转到行。
假设所有数组具有相同数量的元素,这应该完成工作:
$rows = array();
// Converts the arrays of columns into arrays of rows
$length = count($first_array);
for ($i = 0; $i < $length; $i++) {
$rows[$i] = array($first_array[$i], $second_array[$i], $third_array[$i]);
}
// Writes the rows to the file
$fp = fopen('outfile.csv', 'w');
foreach ($rows as $row) {
fputcsv($fp, $row);
}
fclose($fp);
检查此代码
<?php
$list = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('123', '456', '789'),
array('"aaa"', '"bbb"')
);
$fp = fopen('test.csv', 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
?>