Сравнивая два массива и показывая разницу по каждому - PullRequest
0 голосов
/ 28 сентября 2011

Так что я знаю, что есть простой способ увидеть разницу между двумя массивами, используя array_diff.Посмотрите, почему мне нужно что-то более конкретное, хотя:

Допустим, у нас есть эти 2 массива

$array1         $array2
   1               1
   2               -
   -               3
   4               4
   -               5
   6               -

- указывает, что оно отсутствует в противоположном массиве.

Если $array1 содержит отсутствующий элемент из $array2, его необходимо удалить из $array1.Если $array2 содержит отсутствующий элемент из $array1, его необходимо добавить к $array1.

Если я просто выполню array_diff($array1, $array2), он вернет мне только [2, 6].Это не помогает в моем сценарии, потому что я не знаю, в каком из двух массивов отсутствуют эти элементы.

Я немного осмотрелся и, похоже, не выяснил, есть ливстроенная функция php, которая будет различать массивы, из которых отсутствуют элементы.

Как лучше всего это сделать?Я думал о циклическом $array1 и проверке его относительно $array2 и сохранении результатов, отсутствующих в третьем массиве, и наоборот для четвертого массива.

Это лучший способ?или есть еще более простая, нативная функция, которую я могу использовать?

1 Ответ

3 голосов
/ 28 сентября 2011
$comparison1 = array_diff($array1, $array2);
$comparison2 = array_diff($array2, $array1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...