@bufwar
администратор сайта на битриксе

Почему текст echo выводиться несколько раз, а не один?

как поправить код, чтобы echo выводилось правильно?
<?
			global $USER;
			$arGroupAvalaible = array(1590,1591, 1592, 1593); 
			$curUserId = $USER->GetID(); // ID текущего пользователя
			$arGroups = CUser::GetUserGroup($curUserId); // ID групп текущего пользователя
			foreach ($arGroups as $curUserGroups) {
				$rsGroup = CGroup::GetByID($curUserGroups); // Получаем названия всех групп
				$arGroup = $rsGroup->Fetch();
				$result_intersect = array_intersect($arGroupAvalaible, $arGroup);
				if(!empty($result_intersect))  {
					echo "<div class='col-md-12 col-sm-12 col-xs-12 manager'>Ваш персональный менеджер "; print_r($arGroup['NAME']); echo "	</div>";
				 }
				else {
					echo "Вам не назначен персональный менеджер.";
				}
			   }
			?>

5f6dc6d31f786697869674.png
  • Вопрос задан
  • 193 просмотра
Решения вопроса 1
@Carfik
Автор говнокода
<?
      global $USER;
      $notFound = true;
      $arGroupAvalaible = array(1590,1591, 1592, 1593); 
      $curUserId = $USER->GetID(); // ID текущего пользователя
      $arGroups = CUser::GetUserGroup($curUserId); // ID групп текущего пользователя
      foreach ($arGroups as $curUserGroups) {
        $rsGroup = CGroup::GetByID($curUserGroups); // Получаем названия всех групп
        $arGroup = $rsGroup->Fetch();
        $result_intersect = array_intersect($arGroupAvalaible, $arGroup);
        if(!empty($result_intersect))  {
          echo "<div class='col-md-12 col-sm-12 col-xs-12 manager'>Ваш персональный менеджер "; print_r($arGroup['NAME']); echo "	</div>";
$notFound = false;
         }
         }
if($notFound){
echo "Вам не назначен персональный менеджер.";
}
      ?>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@marioKun
Когда доходит до блока else
вам необходимо выйти из цикла, путем добавления конструкции break после echo
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы