Задать вопрос

Как правильно сделать перебор двух массивов?

Помогите разобраться с перебором двух массивов. В одном многомерном массиве ($report_array) есть поле data ($report_array[$n][9]) с базы а в другой массив ($sunday_array)состоит из дат в том же формате (2017-03-26)
Сделал перебор с условием, в котором если дата из первого массива равна дате второго массива, то узнаем одни переменные, если нет - другие.
$count_repotr = count($report_array);
for($n=0;$n<$count_repotr;$n++){
            $count_v = count($sunday_array);
            for($k=0;$k<$count_v;$k++){
                if($sunday_array[$k] == $report_array[$n][9]){
                $v_distance += $report_array[$n][3];
                $v_topl += $report_array[$n][6];               
                }      
            }                   
                    $distance += $report_array[$n][3];                  
                    $topl += $report_array[$n][6];                            
        }


Но в итоге вижу что находит только первую дату в массиве $sunday_array, другие не видит.
Возможно неправильно сравниваю даты.
  • Вопрос задан
  • 124 просмотра
Подписаться 1 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 1
shumar
@shumar Автор вопроса
Проблему сравнения дат решил, если вдруг кто столкнется, даже две даты в одинаковом формате лучше сравнивать через strtotime(). Переписал перебор и все заработало как нужно.
Но тут же получил новую проблему, переменные $distance и $topl перебираются несколько раз, то есть их значение больше чем должно быть.
Как все таки правильно перебрать два массива?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы