我有这个 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/