guest11
Новичок
Сравнение больших массивов
Надо найти разность двух массивов. Сделано это сейчас так:
$arr_2 = array_map('check_arr', $arr_2);
$$arr_1 = array_map('check_arr', $$arr_1);
$arr_2 = array_filter($arr_2, 'filter_arr');
$$arr_1 = array_filter($$arr_1, 'filter_arr');
$arr_diff_21 = array_diff($arr_2, $$arr_1);
$arr_diff_12 = array_diff($$arr_1, $arr_2);
$arr_diff_21 = array_map('check_arr', $arr_diff_21);
$arr_diff_12 = array_map('check_arr', $arr_diff_12);
$arr_diff_21 = array_filter($arr_diff_21, 'filter_arr');
$arr_diff_12 = array_filter($arr_diff_12, 'filter_arr');
Проблема в том, что $arr_1 и $arr_2 содержат 1-1,5 миллиона элементов, а результат - от единиц до десятков тысяч элементов. Скрип поработал несколько дней, а потом начал подвешивать сервер. Можно ли это как-то оптимизировать?
Надо найти разность двух массивов. Сделано это сейчас так:
$arr_2 = array_map('check_arr', $arr_2);
$$arr_1 = array_map('check_arr', $$arr_1);
$arr_2 = array_filter($arr_2, 'filter_arr');
$$arr_1 = array_filter($$arr_1, 'filter_arr');
$arr_diff_21 = array_diff($arr_2, $$arr_1);
$arr_diff_12 = array_diff($$arr_1, $arr_2);
$arr_diff_21 = array_map('check_arr', $arr_diff_21);
$arr_diff_12 = array_map('check_arr', $arr_diff_12);
$arr_diff_21 = array_filter($arr_diff_21, 'filter_arr');
$arr_diff_12 = array_filter($arr_diff_12, 'filter_arr');
Проблема в том, что $arr_1 и $arr_2 содержат 1-1,5 миллиона элементов, а результат - от единиц до десятков тысяч элементов. Скрип поработал несколько дней, а потом начал подвешивать сервер. Можно ли это как-то оптимизировать?