Как сравнить два json данных, используя php один - xml другой - mysql? - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть два json многомерных массива, один из которых взят из базы данных, а другой - из моего открытого пути c, он выглядит как xml, Как мне сравнить обе данные одинаковые или нет?

одни данные поступают из базы данных,

     $shipment = Shipment::take('10')->get()->toJson();
     $ship =  json_decode($shipment,TRUE);

другие данные поступают из локального хранилища в виде xml файлов,

      $files = File::get(storage_path('xml\Last_FILSDCSEA.xml'));      
      $xml = simplexml_load_string($files, "SimpleXMLElement", LIBXML_NOCDATA);
      $json = json_encode($xml);
      //dd($json);
      $data = json_decode($json,TRUE);

и сравнивают что-то ниже,

   if(($ship['JS_UniqueConsignRef']) == ($data['JS_UniqueConsignRef']))
    {

        $difference = array_diff_assoc($ship,$data);
        dd($difference);
    }

какие-либо изменения должны быть внесены в этот код, пожалуйста, помогите?

1 Ответ

2 голосов
/ 14 апреля 2020

Я бы предложил вам использовать array_diff и, используя его, вы можете убедиться, что они точно соответствуют содержимому в структуре JSON.

$ship = json_decode($shipment, TRUE);
$data = json_decode($json, TRUE);
$array_result = array_diff($ship,$data);

if(empty($array_result[0])) {     
    echo "they are same";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...