我正在尝试将2个php数组$ date_array和$ drop_array传递给javascript,以便检查它们的值并将其推送到预先存在的javascript数组中。
<?php
$date_array = array('12-08-2016', '12-09-2016', '12-10-2016', '12-12-2016', '12-13-2016', '12-14-2016', '12-15-2016', '12-16-2016', '12-17-2016');
$drop_array = array($drop1, $drop2, $drop3, $drop4, $drop5, $drop6, $drop7, $drop8, $drop9);
?>
其中$ drop1- $ drop9是数值。我目前正在传递这样的数组并将它们的值推送到数组中:
var date_array = '<?php echo json_encode($date_array); ?>';
var drop_array = '<?php echo json_encode($drop_array); ?>';
var disabledSpecificDays = ["12-11-2016","12-18-2016","12-16-2016","12-17-2016"];
for (var x = 0; x < drop_array.length; x++){
var j = drop_array[x];
if (j > 75){
disabledSpecificDays.push(date_array[x]);
}
}
目前这样做并将日期添加到数组会破坏我的日历。当我没有这个代码,只是手动将日期添加到数组时,日历工作正常禁用日期,所以我认为这是如何通过PHP值并尝试将它们推入数组
答案 0 :(得分:3)
您正在创建一个包含JSON内容的字符串,而不是实际的JSON数组。删除PHP标记周围的单引号。
var date_array = <?php echo json_encode($date_array); ?>;
var drop_array = <?php echo json_encode($drop_array); ?>;
答案 1 :(得分:-1)
您需要使用JSON.parse函数,以便解析由Php代码创建的JSON代码。例如:
var date_array = JSON.parse(&#39;&#39;);
JSON.parse会将JSON字符串转换为Javascript数组