mrusklon
@mrusklon
Не получается? Яростно гугли!

Почему цикл срабатывает много раз?

Делаю выбору из mysql , там содержатся ФИО , id , и часы
затем делаю выбору из другой таблицы, если даты во второй таблице нет , отнимаю от часов у пользователя 8 и вывожу результат
foreach ($result as $row) { 
    echo '<tr>';
        foreach ($result_days as $row_days) {
            if ($row['date'] != $row_days['off_date']) {
                $sub_hours = (int)$row['sub_hours'];
                $sub_hours = $sub_hours - 8;
                if ($sub_hours > 0) {
                    $output = '
                        <td>' . $row['name'] . '</td>
                        <td>' . $sub_hours . '</td>
                        <td>' . $row['date'] . '</td>
                        <td>Рабочий день</td>';
                 }
             }
         }
     echo $output;
     echo '</tr>';
}


все хорошо считает и выводит , но почему то в дубле и очень много раз и даже закономерность не могу понять , может надо как то одним циклом сделать перебор и сравнение?
  • Вопрос задан
  • 149 просмотров
Пригласить эксперта
Ответы на вопрос 1
liqrizz
@liqrizz
лол
сначало выполняется внутренний foreach. то есть сначало внутренний переберает все значения массива например 10 элементов, потом первый foreach это еще повторяет допустом тоже 10 раз. и тогда 10*10
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽