通过php将ajax发布到csv文件时出错。
<?php
$list = array ($_POST["array"]);
$fp = fopen('array.csv', 'w');
fputcsv($fp, $list);
fclose($fp);
?>
我正在尝试发布我的数组
["0", "0", "0", "0", "0", "0", "0", "0", 99]
回应:
注意: C:\ xampp \ htdocs \ snx \ assets \ www \ write.php 中的数组到字符串转换 4
我的Ajax帖子;
/* Array */
var defaultArray = new Array();
var localArray = new Array();
var serverArray = new Array();
/* Default Values */
defaultArray[0] = "0";
defaultArray[1] = "0";
defaultArray[2] = "0";
defaultArray[3] = "0";
defaultArray[4] = "0";
defaultArray[5] = "0";
defaultArray[6] = "0";
defaultArray[7] = "0";
defaultArray.push(99);
/* Write Array [1st Load] */
$.post("write.php", { 'array': defaultArray });
答案 0 :(得分:8)
$list = array ($_POST["array"]);
如果$_POST['array']
已经是一个数组,Array($_POST['array'])
会生成一个[1]字符串数组。
如果你写print_r($list)
,你会看到类似的东西:
Array(0 =>
Array(
0 => "0",
1 => "0",
2 => "0",
3 => "0",
4 => "0",
5 => "0",
6 => "0",
7 => "0",
8 => 99
)
)
要使用原始字符串数组,您可能只需要:
$list = $_POST["array"];
现在,当你写print_r($list)
时,你会看到预期的:
Array(
0 => "0",
1 => "0",
2 => "0",
3 => "0",
4 => "0",
5 => "0",
6 => "0",
7 => "0",
8 => 99
)
顺便说一下,使用 .push
将项目添加到Javascript数组中,您应该将其实例化为= []
,而不是= new Array()
。