Php 如何将多维数组中的单个列保存为.csv文件?
下面的代码将整个数组导出到.csv文件中,但我只想导出特定列Php 如何将多维数组中的单个列保存为.csv文件?,php,multidimensional-array,export-to-csv,fputcsv,array-column,Php,Multidimensional Array,Export To Csv,Fputcsv,Array Column,下面的代码将整个数组导出到.csv文件中,但我只想导出特定列 <?php $test = array(array("eric", 7),array("nancy" ,8),array("dave", 10)); $fp = fopen('new.csv', 'w'); foreach ($test as $fields) { fputcsv($fp, $fields); } fclose($fp); ?> 例如,如果只想导出名称,请执行以下操作: $test = arr
<?php
$test = array(array("eric", 7),array("nancy" ,8),array("dave", 10));
$fp = fopen('new.csv', 'w');
foreach ($test as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
?>
例如,如果只想导出名称,请执行以下操作:
$test = array(array("eric", 7),array("nancy" ,8),array("dave", 10));
$fp = fopen('new.csv', 'w');
foreach ($test as $fields) {
fputcsv($fp, $fields[0]);
}
fclose($fp);
在将阵列放入csv之前,请先对其进行处理。 例如,如果不需要第一个柱,请将其删除。 您可以使用函数数组\u shift。
这不会影响原始阵列。 就像这些代码
<?php
$test = array(array("eric", 7),array("nancy" ,8),array("dave", 10));
$fp = fopen('new.csv', 'w');
foreach ($test as $fields) {
array_shift($fields);
fputcsv($fp, $fields);
}
fclose($fp);
?>
只需保留要添加到csv中的列。在调用fputcsv()之前,您可以通过删除要从$fields数组中排除的字段来完成此操作。使用unset()函数传递元素的键删除字段 例子 假设您只希望有一个名称列表,您可以执行以下操作
$test = array(array("eric", 7),array("nancy" ,8),array("dave", 10));
$fp = fopen('new.csv', 'w');
foreach($test as $row){
unset($row[1]);
// Removing the index 1 leaves the array with just one field which will be written to the new.csv file.
fputcsv($fp,$row);
}
fclose($fp)
在循环中,不需要修改数组行的副本(使用
unset()
,array\u shift()
等),只需传递希望用作单个元素数组的列值即可
的第二个参数必须是数组。这就是为什么$row[0]
值用方括号括起来的原因
如果要将名称值保存到文件中,请使用$row[0]
如果要将数值保存到文件中,请使用$row[1]
代码:
$test = ["eric", 7], ["nancy", 8], ["dave", 10]];
$fp = fopen("new.csv", 'w');
foreach ($test as $row) {
fputcsv($fp, [$row[0]]); // if you want first column values
}
fclose($fp);
显示定义
$test
的位置。创建如果将csv标题限制为所需的标题,请将所需字段保存到csv文件中。如果您发现任何问题,请告知我们。@guarav您希望保存哪个列?你没说。