$array1=[1,2,3,4,5,6]; $array2=[1,2,3,5,6,7,8,9,10];
Я хочу разницу между этими двумя массивами без использования какой-либо функции, такой как array_diff или т. Д.
Очевидно, что я не собираюсь отвечать на это домашнее задание / собеседование с дампом кода, но с общим (и утомительным) подходом:
foreach по обоим спискам ($array1 as $x1 / $array2 as $x2).
foreach
$array1 as $x1
$array2 as $x2
Сохранить флаг состояния $found = false;
$found = false;
Если внутренний foreach находит$x1 == $x2, затем установите $found
$x1 == $x2
$found
И после внутреннего цикла соберите $x1 в списке разностей (if (!$found)).
$x1
if (!$found)
$diffArray=array(); foreach($array1 as $value){ if(!in_array($value,$array2) $diffArray[$value] = $value; } foreach($array2 as $value){ if(!in_array($value,$array1) $diffArray[$value] = $value; }
Перебирайте массивы отдельно, одну за другой, поместите разницу в массив KEY, чтобы избежать повторения.В первом цикле будут выбраны элементы, которые находятся в массиве 1, но не в массиве 2, а во втором цикле все наоборот.