Как-то Вы очень по-простому подходите к массивам. В PHP очень развёрнутая система манипулирования данными структурами.
Вот краткий перечень функций, с которыми можно поиграться (хоть на расхождении хоть на схождении):
array_udiff() — Вычисляет расхождение массивов, используя для сравнения callback-функцию
array_diff() - Вычислить расхождение массивов
array_diff_assoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса
array_diff_uassoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции
array_udiff_assoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
array_udiff_uassoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений и индексов callback-функцию
array_intersect() - Вычисляет схождение массивов
array_intersect_assoc() - Вычисляет схождение массивов с дополнительной проверкой индекса
array_uintersect() - Вычисляет пересечение массивов, используя для сравнения значений callback-функцию
array_uintersect_assoc() - Вычисляет пересечение массивов с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
array_uintersect_uassoc() - Вычисляет пересечение массивов с дополнительной проверкой индекса, используя для сравнения индексов и значений индивидуальные callback-функции.
Ссылка на документацию