2つのjson文字列を互いに比較して、リスト内のすべての新しいエントリを見つけようとしています。2つのjson文字列を比較して新しいエントリを見つける
JSON 1:http://164.132.195.253/test/new.json
JSON 2:http://164.132.195.253/test/last.json
これは、私はそれらを比較しています方法です:
$json = json_decode(file_get_contents("new.json"), true);
$last_json = json_decode(file_get_contents("last.json"), true);
$difference = array_diff($json, $last_json);
print_r($difference);
私はそれがすべての新しいエントリを持つ配列を返すことを期待しています。しかし、私は代わりに空の配列を取得しています。
助けていただけたら幸いです!
追加情報: また、配列の値を比較しようとしています。これは私がそれをやろうとしている方法です:
foreach($json["whitelist_name"] AS $json_key => $json_val) {
foreach($last_json["whitelist_name"] AS $last_json_key => $last_json_val) {
if($json["whitelist_name"] != $last_json["whitelist_name"]) {
echo $json["whitelist_name"];
}
}
}
しかし、それはその$のJSON [「whitelist_name」]思える未定義
あなたのjsonデコードが連想配列を返しています。 array_diff_assocが役に立ちます。 – Atif
素晴らしい、それはそれを作った!誰かがwhitelist_nameを変更したかどうか調べることが何とか可能かどうか知っていますか? –