2016-12-01 17 views
1

2つのPHP配列$ date_arrayと$ drop_arrayをjavascriptに渡そうとしているので、その値をチェックして既存のjavascript配列にプッシュすることができます。PHP配列を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の値を渡して配列にプッシュしようとしています。

答えて

3

文字列を作成しています実際のJSON配列ではなくJSONの内容と比較します。 PHPタグの一重引用符を削除します。

var date_array = <?php echo json_encode($date_array); ?>; 
var drop_array = <?php echo json_encode($drop_array); ?>; 
+0

私は私の終了タグは、これらのタグは、通常、原子に着色されている ' ' を無視するように見える単一引用符を削除するときには私はPHPの周りの単一引用符を削除すると、閉じるタグは灰色に変わり、私のカレンダーは動かない。 – somebodystopme

+0

残りのコードとHTML/javascriptの出力は表示されません。 – doublesharp

+0

'' はカレンダーです。カレンダーの機能を別のコメントに追加する必要があります。 – somebodystopme

-1

あなたはそれがあなたのPHPコードで作成されたJSONコードを解析してJSON.parse機能を使用する必要があります。例:

var date_array = JSON.parse( '');

Javascriptの配列にJSON文字列を変換しますJSON.parse

+0

これは間違っているあなたは、 'JSONできました。parse() '(一重引用符で囲まれた)文字列ですが、引用符を省略して文字列ではなくJSONオブジェクトにする必要はありません。 – doublesharp