Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么PHP json_编码扁平数组?_Javascript_Php_Arrays - Fatal编程技术网

Javascript 为什么PHP json_编码扁平数组?

Javascript 为什么PHP json_编码扁平数组?,javascript,php,arrays,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"

我有一个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>
为什么JavaScript数组在0索引处变平?如果我尝试
console.log(会话)它返回一个包含一个变量的数组,而不是php数组中明确显示的5个变量


我在这里遗漏了什么吗?

发生这种情况是因为您正在从PHP包装另一个数组(
new array
)的数组。只需卸下
新阵列
部件,即可正常工作

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

据我所见,调用
json\u encode
将创建一个完整的json对象,而不仅仅是数组的内容。您将PHP生成的数组的整个输出作为索引0封装在
新数组中

因此,删除
新数组将生成您要查找的内容

试试这个:

<script type="text/javascript">
var sessions = <?php echo json_encode($savedRequestDates); ?>;
console.log(sessions);
</script>

var会话=;
控制台日志(会话);

您应该可以看到整个阵列。

就是这样!谢谢你的帮助。
<script type="text/javascript">
var sessions = <?php echo json_encode($savedRequestDates); ?>;
console.log(sessions);
</script>