簡體   English   中英

注意:數組到字符串轉換

[英]Notice: Array to string conversion

我通過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]

響應:


注意 :第4行的C:\\ xampp \\ htdocs \\ snx \\ assets \\ www \\ write.php中的數組到字符串轉換

我的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 });
$list = array ($_POST["array"]);

如果$_POST['array']已經是一個數組,那么Array($_POST['array'])會產生[one]字符串數組。

如果你寫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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM