@aopil

Как сравнить такой массив?

array(1) {
  ["Group"]=>
  array(64) {
    ["BMW"]=>
    array(3) {
      ["Name"]=>
      string(3) "BMW"
      ["GroupType"]=>
      string(4) "auto"
      ["ID"]=>
      string(3) "BMW"
      ["Tool"]=>
      array(5) {
        [324]=>
        array(22) {
          ["ID"]=>
          int(2921)
          ["ServiceType"]=>
          string(4) "auto"
          ["Name"]=>
          string(13) "SERVICE BMW A"
          ["Message"]=>
          string(0) ""
          ["Price"]=>
          float(10)
          ["Delivery"]=>
          string(9) "1-12 days"
        }
        [325]=>
        array(22) {
          ["ID"]=>
          int(2930)
          ["ServiceType"]=>
          string(4) "auto"
          ["Name"]=>
          string(13) "SERVICE BMW B"
          ["Message"]=>
          string(0) ""
          ["Price"]=>
          float(19)
          ["Delivery"]=>
          string(8) "1-3 days"
        }
        [322]=>
        array(22) {
          ["ID"]=>
          int(2903)
          ["ServiceType"]=>
          string(4) "auto"
          ["Name"]=>
          string(45) "SERVICE BMW C"
          ["Message"]=>
          string(0) ""
          ["Price"]=>
          int(0)
          ["Delivery"]=>
          string(8) "1-3 days"
        }
      }
    }
    ["Mercedes"]=>
    array(1) {
      ["Name"]=>
      string(8) "Mercedes"
      ["GroupType"]=>
      string(6) "auto"
      ["ID"]=>
      string(8) "Mercedes"
      ["Tool"]=>
      array(2) {
        [195]=>
        array(22) {
          ["ID"]=>
          int(1760)
          ["ServiceType"]=>
          string(4) "auto"
          ["Name"]=>
          string(10) "Mercedes A"
          ["Message"]=>
          string(0) ""
          ["Price"]=>
          float(55.49)
          ["Delivery"]=>
          string(11) "10 Miniutes"
        }
      }
    }
  }
}


У меня есть 2 таких массива, один старый, а один новый (где данные актуальные). Нужно найти какие данные были изменены.

Задача состоит в том, чтобы определить, какие услуги изменили название, или какие услуги изменились в цене, ИЛИ возможно какие-то услуги новые добавили/убрали.

Возможно ли через функции выполнить мою задачу, или нужно всё записывать в БД и сравнивать значения с базой?
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ответы на вопрос 1
neuotq
@neuotq
Прокрастинация
Пункт 0. Возможно есть способ сравнивать на этапе формирования нового массива и как то это хранить/помечать?
Пункт 1. Не мучайте себя и других, а пробуйте поискать готовые библиотеки, например эту:
array-diff-multidimensional
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы