所以我正在使用PHP将一个PHP数组通过jQuery Ajax请求传递给另一个PHP页面。这是一项艰巨的任务。出于某种原因,我的json_encode返回一个数组而不是一个字符串,我不太清楚为什么。这是我的PHP代码:
$new_spreadsheet = nl2br($_POST['spreadsheet']);
$new_spreadsheet = explode('<br />', $new_spreadsheet);
array_shift($new_spreadsheet);
$new_spreadsheet = array_values($new_spreadsheet);
echo json_encode($new_spreadsheet);
我会告诉你输出,但它真的很长。基本上这是输出一个PHP数组,它由电子表格中的每一行组成。这就是我想要的,但问题是我不想要数组中的引号和所有内容。我很确定我需要运行json_decode,但是当我这样做时,我的代码返回一个错误,说参数需要是一个字符串。我可以说一些事情是对的,但我不太确定我需要改变什么。我很感激任何建议。
更新:此时,当我尝试循环遍历数组并打印每个值时,第一个数组索引等于双引号,如下所示:&#34;。整个区域的随机值都有双引号。我不太确定导致这种情况的原因。
如果我将json_encoded PHP数组中的行回显到控制台,我会得到以下输出:
"
correct value
correct value
correct value
"
答案 0 :(得分:0)
您正在使用JSON,这意味着您必须遵守比Javascript更严格的语法规则。 e.g。
<?php
$arr = array('This' => 'is', 'an' => 'array in php');
echo json_encode($array);
?>
输出:
{"This":"is","an":"array in PHP"}
有 NO 方法可以避免获取值的引用,因为它们是JSON(和Javascript)的基本要求。如果您不想报价,请不要使用JSON。
答案 1 :(得分:-2)
只尝试br。
$new_spreadsheet = explode("<br>", $new_spreadsheet);
它会起作用。并且json_enode永远不会返回数组。尝试var_dump和check.Also确保在发布之前,使用htmlspecialcharacters。