Javascript 为什么PHP json_编码扁平数组?
我有一个PHP数组(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"
$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>