-1

これら2つのjsonから返された結果を取得し、違いを比較して一意の値のみを表示しようとしています. 私は他の多くの方法を試しましたが、何もうまくいかないようです。このコードは、Argument #1 is not an array...私がここで見逃しているものを教えてくれますか?

<?php
$json = file_get_contents("http://ebird.org/ws1.1/data/obs/region/recent?rtype=subnational1&r=US-AZ&back=7&fmt=json");
$json2 = file_get_contents("http://ebird.org/ws1.1/data/obs/region/recent?rtype=subnational1&r=US-NV&back=7&fmt=json");

$array1 = json_decode($json, TRUE);
$array2 = json_decode($json2, TRUE);

$result = array_diff($array1, $array2);

echo $result ;

?>

結果は「配列」ですが、違いがあることはわかっています....返されたjsonデータの1つのフィールドだけを比較する方法はありますか...このインスタンスではcom-name?

4

4 に答える 4

1

変数は JSON ではなく文字列 (URL) です。URL を json_decode しようとしています!

また、URLにアクセスすると、XMLが表示されます... JSONではありません。

于 2013-04-09T15:36:54.183 に答える
0
  1. file_get_contents()これらの URL からデータを取得するには、を使用する必要があります。
  2. 結果を配列として取得するにはtrue、2 番目のパラメーターとして渡す必要があります。json_decode

.

$xml  = file_get_contents('http://ebird.org/ws1.1/data/obs/region/recent?rtype=subnational1&r=US-AZ&back=7&format=json');
$xml2 = file_get_contents('http://ebird.org/ws1.1/data/obs/region/recent?rtype=subnational1&r=US-NV&back=7&format=json');

$array1 = json_decode($xml, true);
$array2 = json_decode($xml2, true);
于 2013-04-09T15:33:35.397 に答える