【问题标题】:Saving multidimensional Javascript array to server-side CSV将多维 Javascript 数组保存到服务器端 CSV
【发布时间】:2016-08-01 21:58:01
【问题描述】:

我正在尝试将多维 Javascript 数组保存为服务器上的 CSV 文件。到目前为止,我的代码创建了 CSV 文件,但该文件不包含我的数组,我不确定为什么。

(建立 outputData 的地方)

function dataSave(){
outputStr = JSON.stringify(outputData);
$.ajax({
    type: "POST",
    url: "csvout.php",
    data: outputStr,
    dataType: 'html',
});}

csvout.php:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">

<?php    
$array = json_decode($_POST['outputStr']);
$file = fopen("out/data.csv","w");
foreach ($array as $line){
    foreach ($line as $item){
        fputcsv($file,explode(',',$item));
        }
    }

fclose($file); 
?>

</head>
<body>
</body>
</html>

数据是一个像这样的数组——它是从参与科学实验的客户那里获得的数据。一切都是字符串。

0: "tuba.mp3"
1: "prac"
2: "1"
3: "0"
4: "type1"
5. "500"

0: "clap.mp3"
1: "main"
2: "0"
3: "0"
4: "type1"
5. "300"

[...]

【问题讨论】:

  • 我们可以举个例子来说明您的阵列的外观吗?
  • 回复:同时使用 fputcsv 和爆炸,我对这个答案有点困惑,因为此链接上有示例代码同时使用了这两种方法,而且它似乎可以工作:w3schools.com/php/func_filesystem_fputcsv.asp跨度>
  • 将“jQuery”添加到您的问题标签中;如果你指定你的代码是关于什么的,你可能会得到更多相关的帮助,这将导致更少的“反对票”。
  • 打印到控制台读取 Array [ Array[11], Array[11], Array[11], Array[11], Array[11], Array[11], Array[11],数组[11],数组[11],数组[11],还有6个……]。
  • @Chris do var_dump($array) 在您在 PHP 中分配它并使用结果更新您的问题(或结果摘要,我需要知道数组的深度)之后。跨度>

标签: javascript php jquery ajax csv


【解决方案1】:

您将原始 JSON 字符串作为查询参数传递,但尝试将其作为命名参数进行访问。更新代码:

function dataSave(){
outputStr = JSON.stringify(outputData);
$.ajax({
    type: "POST",
    url: "csvout.php",
    data: { outputStr: outputStr },
    dataType: 'html',
});}


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">

<?php    
$array = json_decode($_POST['outputStr']);
adding var_dump($array); here produces NULL

$file = fopen("out/data.csv","w");
foreach ($array as $line){
    fputcsv($file,$item);
}

fclose($file); 
?>

</head>
<body>
</body>
</html>

【讨论】:

  • 谢谢,这确实有效,但是当在 Excel 中打开时,它会将数据保存在单列中,而不是将每个嵌套数组保存为一行。有没有简单的方法来解决这个问题?
  • 我做了一个小更新。我仍然不知道你的数据到底是什么样子,但如果它只是一个数组数组,这应该可以。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-05
  • 1970-01-01
  • 2021-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-23
相关资源
最近更新 更多