我有一个如下的数组$csvRows
。我想将该数组导出为CSV。将对象的多维数组导出为CSV
Array
(
[0] => SingleModule Object
(
[module:SingleModule:private] => Module Object
(
[name:Module:private] => SimpleXMLElement Object
(
[0] => some string
)
[position:Module:private] => SimpleXMLElement Object
(
[0] => 1000
)
[config:Module:private] => SimpleXMLElement Object
(
)
)
[moduleMeta:SingleModule:private] => ModuleMeta Object
(
[description:ModuleMeta:private] => description text
[featureOrUseCase:ModuleMeta:private] => feature or usecase text
[inputParam:ModuleMeta:private] => input Parameter text
[changedParam:ModuleMeta:private] => changed Parameter text
[newOutputParam:ModuleMeta:private] => new Output Param text
[commentOrNote:ModuleMeta:private] => comments Or Note text
)
)
[1] => SingleModule Object
(etc...)
我已经尝试过的解决方案,这是我在this link找到。这里是我的代码示例:
$fileName = "../../data/modules.csv";
$output = fopen($fileName, 'w+');
foreach ($csvRows as $file) {
$result = [ ];
array_walk_recursive($file, function ($item) use (&$result) {
$result [] = $item;
});
fputcsv($output, $result);
}
fclose($output);
然后我收到以下错误:
PHP Recoverable fatal error: Object of class Module could not be converted to string ...in line where fputcsv is.
我已经暂时通过手动创建一个简单的数组像下面这样,我在this link发现解决了这个问题:
$csvRows = array(
array('row_1_col_1', 'row_1_col_2', 'row_1_col_3'),
array('row_2_col_1', 'row_2_col_2', 'row_2_col_3'),
array('row_3_col_1', 'row_3_col_2', 'row_3_col_3'),
);
但我想导出我的实际$csvRows
对象数组作为CSV。我是一个新手程序员,所以任何建议和帮助将不胜感激。
嗨,我想你的建议如下所示:'$海峡= json_encode($ csvRows); $ csvRows = json_decode($ str,true); $ fp = fopen(“../../ data/modules.csv”,'w +'); foreach($ csvRows as $ column){ fputcsv($ fp,$ column); } fclose($ fp);'但我只有一个空的csv文件。任何想法? – sumion