【发布时间】:2019-06-06 05:16:29
【问题描述】:
我在{} 大括号中有一个 json 数组,它是从$response5 检索的。
$json ='[
{
"Collectioncentre_Name": "Kattupakkam - Collection Centre 001",
"Session_ID": "20/04/2019/AM/CC001",
"Date": "2019-04-20T00:00:00",
"MilkSession": "AM",
"Farmer_ID": "VASAN/000000037",
"Row_ID": 332713,
"Milkman_Code": "310",
"Farmer_Name": "VASANTHA",
"Gender": "Female",
"Received_Quantity": 1.3
},
{
"Collectioncentre_Name": "Kattupakkam - Collection Centre 001",
"Session_ID": "20/04/2019/AM/CC001",
"Date": "2019-04-20T00:00:00",
"MilkSession": "AM",
"Farmer_ID": "CHIND/000000366",
"Row_ID": 332714,
"Milkman_Code": "449",
"Farmer_Name": "CHINDIRA E",
"Gender": "Female",
"Received_Quantity": 3
},
{
"Collectioncentre_Name": "Kattupakkam - Collection Centre 001",
"Session_ID": "20/04/2019/AM/CC001",
"Date": "2019-04-20T00:00:00",
"MilkSession": "AM",
"Farmer_ID": "PERUN/000000017",
"Row_ID": 332715,
"Milkman_Code": "492",
"Farmer_Name": "V.Perundevi",
"Gender": "Female",
"Received_Quantity": 3
}
]';
$data=json_decode($json,true);
$your_string="";
foreach($data as $key=>$v){
$your_string.=$data[$key]['Collectioncentre_Name'].",".$data[$key]
['Session_ID'].",".$data[$key]['Date'].",".$data[$key]
['MilkSession'].",".$data[$key]['Farmer_ID'].",".$data[$key]
['Row_ID'].",".$data[$key]['Milkman_Code'].",".$data[$key]
['Farmer_Name'].",".$data[$key]['Gender'].",".$data[$key]
['Received_Quantity']."\r\n";
}
$csvdata= trim($your_string, ",");
//$csvdata = $your_string;
echo $csvdata."\r\n";
实际上这些 json 数组是 $response5 的输出。如果我输入$json ='[$response5;] 之类的代码而不是添加整个数组,则不会得到添加数组值时得到的实际结果。我错过了什么还是需要添加更多代码?
【问题讨论】:
-
你期望输出什么?
-
代替 $json ='[$response5;] 试试这个方法:$json = json_decode($response5, true);
-
如果您想要循环中的所有字段 - 您可以将其减少到
$your_string.=implode(",",$v).PHP_EOL; -
是的,我也试过
$json = json_decode($response5, true); echo $json;,但我没有收到任何输出。 -
您的 $json 是该代码中的一个数组。你不能回显一个数组
标签: php jquery arrays json csv