Найти удаленные и добавленные элементы измененного массива

Как найти, какие элементы удаляются из последнего списка массивов состояний и какие элементы добавляются в новый?
Мои массивы:

$arrayOld = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K"];
$arrayNew = ["Z", "B", "C", "D", "E", "F", "G", "H", "I", "J", "Y"];

Объяснение:
У меня есть массив под названием $arrayOldПользователь вносит некоторые изменения в список и публикует новый массив на сервере, и я хочу знать, какие элементы удалены из первого массива, а какие новые!

Спасибо

0

Решение

array_diff будет решением,

Получить добавляет,

 $new_elements = array_diff($arrayNew, $arrayOld);
print_r($new_elements); // first parameter should be new array
and second one should be old

Получить удаления,

    $old_elements = array_diff($arrayOld, $arrayNew);
print_r($old_elements); // Here first parameter should be old array
and second one should be new
0

Другие решения

Вы можете просто найти те, которые используют array_diff:

$arrayOld = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K"];
$arrayNew = ["Z", "B", "C", "D", "E", "F", "G", "H", "I", "J", "Y"];

$removes = array_diff($arrOld, $arrNew);
print_r($removes); // A , K

$adds = array_diff($arrNew,$arrOld);
print_r($adds); // Z , Y

Az php.net документы:

array_diff — вычисляет разницу массивов

Сравнивает массив1 с одним или несколькими другими массивами и возвращает значения в массиве1, которых нет ни в одном из других массивов.

php.function.array дифференциала

0

используйте функцию сравнения, она покажет все разные с индексом элементов изменений

$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"black","g"=>"purple");
$a3=array("a"=>"red","b"=>"black","h"=>"yellow");$result=array_diff($a1,$a2,$a3);
print_r($result);

результат будет:

Array ([b] => зеленый [c] => синий);

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector