У меня есть следующий код и я пытаюсь сравнить два массива с array_diff, но я не получаю никаких результатов. Я не уверен, если это имеет значение, но в массиве много полей, и я действительно хочу сравнить только одно поле ... это возможно? что мне не хватает?Сравнение двух массивов с array_diff
<?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);
if ($array1 == $array2) {
echo 'There are no differences';
}else
var_dump(array_diff($array2, $array1));
echo 'they are different';
?>
Вы читали руководство по сравнению равенства для массивов и на 'array_diff'? – Jon
Почему бы не сравнить JSON как строку. Если они равны, то массив/объект будет таким же, когда они будут декодированы так или иначе. [ 'Strcmp'] (http://php.net/strcmp). – phpisuber01
Что вы имеете в виду при сравнении только одного (1) поля? $ arr1 ['field_x1'] === $ arr2 ['filed_x2']? – djot