将php数组传递给javascript,检查数组值并推入新数组

时间:2016-12-01 18:39:19

标签: javascript php arrays

我正在尝试将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值并尝试将它们推入数组

2 个答案:

答案 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数组