다음과 같은 배열 $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에서 발견 된 솔루션을 시도했다. 여기 내 코드 예제입니다 : 나는 일시적으로 수동으로 내가
this link에서 볼 수있는 다음과 같은 간단한 배열을 생성하여 문제를
PHP Recoverable fatal error: Object of class Module could not be converted to string ...in line where fputcsv is.
해결 한 : 나는 다음과 같은 오류 얻을 그리고
$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);
$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 형식으로 내보내고 싶습니다. 나는 초보자 프로그래머입니다. 그래서 어떤 제안이나 도움도 매우 감사 할 것입니다.
$str = json_encode($csvRows);
$csvRows = json_decode($str, true);
foreach ($csvRows as $file) {
$result = [];
array_walk_recursive($file, function($item) use (&$result) {
$result[] = $item;
});
fputcsv($output, $result);
}
그냥 연관 배열에 모든 개체를 변환 :
안녕, 나는 다음과 같은 당신의 제안을 시도 :'$ str을 =로 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