ILoveYAnny
@ILoveYAnny

Как определить изменения на основе сравнения двух массивов с пересекающимися значениями ключей?

Здравствуйте, есть два много мерных массива.

Первый получен путём парсинга, и записан в БД имеет вид:
array {
    [0]=>array { 
        ["id"]=>["3543"]
        ["color"]=>["gren"]
        }
    [1]=>array { 
        ["id"]=>["234"]
        ["color"]=>["blue"]
        }
    [2]=>array { 
        ["id"]=>["34534"]
        ["color"]=>["red"]
        }
}

Через некоторое время, был получен парсинг из того же источника. Задача предпологает, что элементы могут добавится, и порядок массива может быть нарушен, и иметь виду
array {
    [0]=>array { 
        ["id"]=>["3543"]
        ["color"]=>["gren"]
        }
    [1]=>array { 
        ["id"]=>["34534"]
        ["color"]=>["red"]
        }
    [2]=>array { 
        ["id"]=>["234"]
        ["color"]=>["grey"]
        }
}


Как видно два последних массива, поменялись местами
Мне нужно определить что ключ color в массиве с id = 234 изменился и сделать определённое действие. Как это можно сделать?
У меня мысли использовать array_diff(), либо как то сравнивать через цикл ключи ID из того массива и из того и при совпадении проверять ключ цвета..
Есть несколько мыслей, но как правильно ? Чувствую без помощи получится крайней не жизнеспособных код :/
  • Вопрос задан
  • 235 просмотров
Пригласить эксперта
Ответы на вопрос 1
kirill_782
@kirill_782
Днем я Маринетт
Попробуйте вычислить расхождение через array_diff, а потом циклом проверить id
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы