为什么PHP json_encode会变平?

Sam*_*rko 2 javascript php arrays

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

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 ) 
Run Code Online (Sandbox Code Playgroud)

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

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

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"]
Run Code Online (Sandbox Code Playgroud)

为什么JavaScript数组在0索引处变平?如果我尝试console.log(sessions);它会返回一个带有一个变量的数组,而不是5,因为php数组清楚地显示了.

我在这里错过了什么吗?

Mic*_*ski 6

发生这种情况是因为你正在从PHP中包装另一个数组(new Array).只需删除该new Array部分,它将正常工作.

var sessions = <?php echo json_encode($savedRequestDates); ?>;
Run Code Online (Sandbox Code Playgroud)