我用PHP编写了这个脚本:
$mainArray = array();
$storageArray = array();
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
$array = array($row["TransactionAmount"], $row["AccountBalance"], $row["TransactionDate"]);
array_push($storageArray, $array);
}
$paginationArray = array();
for ($i = 0; $i < sizeof($storageArray); $i++) {
if (sizeof($paginationArray) < 15) {
array_push($paginationArray, $storageArray[$i]);
} else {
array_push($mainArray, $paginationArray);
$paginationArray = array();
}
}
print_r($mainArray);
发生的事情是,当我尝试访问数组的元素时,没有这样做,而是像访问字符串一样访问每个字符。如果[[“ Hello”],[“ World”]]是从PHP发送的数组,那么当我在JS文件中执行data [0]时,它将立即抓住第一个大括号而不是抓住“ Hello”。我不知道为什么会这样,因为我以前从未发生过。是什么赋予了?它不是字符串,我已经在两端对JSON进行了编码和解码,以查看是否可以正确解决但什么也没得到。
答案 0 :(得分:1)
PHP print_r
输出有关变量的可读信息。您的输出将是一个类似于以下内容的字符串:
Array
(
[a] => apple
[b] => banana
[c] => Array
(
[0] => x
[1] => y
[2] => z
)
)
要访问您放入JS的PHP数组中的数据,它应采用JS可以理解的格式-假设是JSON。
因此,您应该使用
代替print_r
echo json_encode($mainArray);
这将创建一个json字符串。
通过在前端使用JSON.parse
将其转换为JS对象。