シナリオ:ページループ(php)上のデータベースセルと、変更のためのx分ごとに間隔ループ内でそれを比較する必要があります。私の最初のロードデータは次のようになりますphp配列とjavascript配列との比較同じデータ
:| $のDATA1は、$ DATA2、および$「~~」区切り、ページのロードにそう
var olddata = JSON.stringify(<?php echo json_encode($data1); ?>) + "~|~" +
JSON.stringify(<?php echo json_encode($data2); ?>) + "~|~" +
JSON.stringify(<?php echo json_encode($data3); ?>);
、私はとjavascriptの変数に細胞を保存しますdata3は、データベース内の3つの異なるセル(データの配列)です。
そして、私の間隔ループデータは(AJAX呼び出し)次のようになります。
// PHP on the AJAX page
echo json_encode($data1)."~|~".json_encode($data2). "~|~".json_encode($data3);
// AJAX code that gets called every x Intervals
$.get("ajaxpage.php", function(data) {
if (data == olddata) {
console.log("Good!");
}
});
私はdata
に対してolddata
を比較すると、彼らは除いてほとんど同じに見える...それに/
を持っているデータがで\/
ようになります。 data variable and not in the
olddata`変数を使用します。
例:
"10":["10"],"11":["11 5\/25"] // data = return from the AJAX call
"10":["10"],"11":["11 5/25"] // olddata = what was originally echoed on page load.
、彼らが完全に一致するように、どのように私は2つを比較することができますか?そのため、データベースとjson_encodeからエコーする内容は、ページにエコーされたものとjson関数の戻り値からエンコードされたものと同じものから得られるものと一致します。
注:私はJSON.stringifyを削除した場合、それが返されます[オブジェクトのオブジェクト]
比較は役に立たない、私の意見は、ちょうどデータを取って、それを表示する... また、なぜolddataを配列として保存しないのですか? –