PHP 数组到 CSV 问题
PHP array to CSV issues
我有一个数组:
$rowcsv['reasonforabsence']
这包含未确定数量的值。
我想将此数组的值与其他值一起输出到 CSV,如下所示:
fputcsv($output, array( $overtime, $rowcsv['reasonforabsence']));
但是当我这样做时,CSV 输出:
|6|"Holiday Full Day,Sick Full Day,Sick AM,Sick PM,Holiday Full Day,Holiday AM,Holiday PM,Absent Full Day,Absent AM|`
所以基本上不是 $rowcsv['reasonforabsence']
数组将值放入新单元格,数组只是将所有值放入 1 个单元格。
我试过:
$reasonforabsence = explode( ',', $rowcsv['reasonforabsence'] );
$reasonforabsence = implode('","', $reasonforabsence);
但我得到了输出:
"Holiday Full Day"",""Sick Full Day"",""Sick AM"",""Sick PM"",""Holiday Full Day"",""Holiday AM"",""Holiday PM"",""Absent Full Day"",""Absent AM"
这一次所有内容仍然出现在 1 个单元格中并带有引号。
使用 array_merge
将 $overtime
和 $rowcsv['reasonforabsence']
组合成一个数组,并将组合数组传递给 fputcsv
$row = array_merge(array($overtime),explode(',',$rowcsv['reasonforabsence']));
fputcsv($output,$row);
使用 array( $overtime, $rowcsv['reasonforabsence'])
可以构造一个包含两个条目的数组。
根据 $rowcsv['reasonforabsence']
是一个简单的逗号分隔值字符串,您必须将其 explode() 成一个数组并将其与您的 $overtime 值合并:
fputcsv($output, array_merge(array($overtime), explode(',', $rowcsv['reasonforabsence'])));
我有一个数组:
$rowcsv['reasonforabsence']
这包含未确定数量的值。
我想将此数组的值与其他值一起输出到 CSV,如下所示:
fputcsv($output, array( $overtime, $rowcsv['reasonforabsence']));
但是当我这样做时,CSV 输出:
|6|"Holiday Full Day,Sick Full Day,Sick AM,Sick PM,Holiday Full Day,Holiday AM,Holiday PM,Absent Full Day,Absent AM|`
所以基本上不是 $rowcsv['reasonforabsence']
数组将值放入新单元格,数组只是将所有值放入 1 个单元格。
我试过:
$reasonforabsence = explode( ',', $rowcsv['reasonforabsence'] );
$reasonforabsence = implode('","', $reasonforabsence);
但我得到了输出:
"Holiday Full Day"",""Sick Full Day"",""Sick AM"",""Sick PM"",""Holiday Full Day"",""Holiday AM"",""Holiday PM"",""Absent Full Day"",""Absent AM"
这一次所有内容仍然出现在 1 个单元格中并带有引号。
使用 array_merge
将 $overtime
和 $rowcsv['reasonforabsence']
组合成一个数组,并将组合数组传递给 fputcsv
$row = array_merge(array($overtime),explode(',',$rowcsv['reasonforabsence']));
fputcsv($output,$row);
使用 array( $overtime, $rowcsv['reasonforabsence'])
可以构造一个包含两个条目的数组。
根据 $rowcsv['reasonforabsence']
是一个简单的逗号分隔值字符串,您必须将其 explode() 成一个数组并将其与您的 $overtime 值合并:
fputcsv($output, array_merge(array($overtime), explode(',', $rowcsv['reasonforabsence'])));