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

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

Помогите разобраться с перебором двух массивов. В одном многомерном массиве ($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, другие не видит.
Возможно неправильно сравниваю даты.
  • Вопрос задан
  • 131 просмотр
Подписаться 1 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
shumar
@shumar Автор вопроса
Проблему сравнения дат решил, если вдруг кто столкнется, даже две даты в одинаковом формате лучше сравнивать через strtotime(). Переписал перебор и все заработало как нужно.
Но тут же получил новую проблему, переменные $distance и $topl перебираются несколько раз, то есть их значение больше чем должно быть.
Как все таки правильно перебрать два массива?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽