javascript - 为什么 PHP json_encode 会展平数组?

标签 javascript php arrays

我有这个 PHP 日期数组 ($savedRequestDates):

Array ( [0] => 2018-03-29 10:56:31 [1] => 2018-03-29 10:58:09 [2] => 2018-04-12 11:28:41 [3] => 2018-04-12 13:07:25 [4] => 2018-05-09 13:08:07 ) 

在同一个 .php 页面的底部,我有这个:

<script type="text/javascript">
var sessions = new Array('<?php echo json_encode($savedRequestDates); ?>');
console.log(sessions[0]);
</script>

console.log(sessions[0]); 返回:

["2018-03-29 10:56:31","2018-03-29 10:58:09","2018-04-12 11:28:41","2018-04-12 13:07:25","2018-05-09 13:08:07"]

为什么 JavaScript 数组在 0 索引处展平?如果我尝试 console.log(sessions); 它返回一个包含一个变量的数组,而不是 5,正如 php 数组清楚显示的那样。

我是不是漏掉了什么?

最佳答案

发生这种情况是因为您将 PHP 中的数组包装到另一个数组 (new Array)。只需删除 new Array 部分即可正常工作。

var sessions = <?php echo json_encode($savedRequestDates); ?>;

关于javascript - 为什么 PHP json_encode 会展平数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50376956/

相关文章:

javascript - 将JS对象放入html <table>中

javascript - 以编程方式使选项卡处于事件状态

javascript - 如何在angular2中的模块之间路由?

php - 谷歌云端硬盘 PHP API : Delete shows Insufficient Permission

java - Java中使用Kadane算法求子数组的最大和

javascript - web sql 错误 "current version of the database and ` oldVersion` 参数不匹配”

php - MySQL 将重复项分组在一起

arrays - 按函数对(对称)numpy 二维数组进行排序。 (规范)

php - 将 JSON 字符串作为字段数据放在 MySQL 上

php - 为 Heroku 应用程序选择 PHP 版本