【发布时间】:2014-08-11 21:38:49
【问题描述】:
我的每个用户都有一个 JSON 编码字符串保存到一个名为“json”的字段中。会有多个多维项目,但nutrients 并不总是一个元素。这是格式:
$arr = array(
0 => array(
'name' => Input::get('name'),
'amount' => 5,
'time' => '2:00 am',
'nutrients' => array(
'Macro' => array(
'water' => 0,
'carbs' => 0,
),
'Micro' => array(
'zinc' => 0,
)
)
);
$user->json = json_encode($arr);
$user->save();
我想(从另一个角度)将$user->json 转换为 CSV 文件。这是我在网上找到的最接近的代码,但我仍然得到一个错误('fputcsv() 期望参数 2 是数组,给定对象'):
$user = Auth::user();
$json_obj = json_decode ($user->json);
$fp = fopen('file.csv', 'w');
foreach ($json_obj as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
如果我使用$json_obj = json_decode ($user->json, true);,我会收到错误“数组到字符串的转换”
感谢任何帮助,如果需要更多信息,请告诉我。谢谢!
【问题讨论】:
-
$json_obj = json_decode($user->json, true)(true 表示解码为关联数组,而不是对象) -
对不起,我应该提到我也尝试过,但我收到错误
Array to string conversion(它没有告诉我确切的数组/字符串)。