Ваш второй цикл будет запущен только после того, как вы повторили "<div class='prog'>".$boss_count_killed."<mark>/</mark>".$boss_count_alive."</div>";
, поэтому он повторяет 0/0 в первый раз.
Если вы хотите, чтобы он повторил 3/10 в первый раз, вам нужносначала запустить свой внутренний цикл, чтобы вычислить значения, а затем повторить.В вашем случае это будет примерно так:
foreach ($raids as $raid)
{
$raid_name = $raid->getName();
$bosses_html = "";
foreach ($raid->getRaidProgression() as $boss)
{
$boss_count_alive++;
$class = "fas fa-times fa-sm";
$youtube = "";
if ($boss->getStatus() == 1)
{
$class = "fas fa-check fa-sm";
$boss_count_killed++;
}
$bosses_html .= "<div>";
$bosses_html .= "<div><span><i class='".$class."'></i>".$boss->getBoss()."</span></div>";
$bosses_html .= "</div>";
}
echo "<div class='raid'>";
echo "<div class='name'>";
echo "<a class='collapsed' data-toggle='collapse' data-target='#raid".$raid_name."' aria-expanded='false' aria-controls='raid".$raid_name."'>";
echo $raid_name;
echo "</a>";
echo "</div>";
echo "<div class='prog'>".$boss_count_killed."<mark>/</mark>".$boss_count_alive."</div>";
echo "<div class='bar'>";
echo "<div class='color' style='width: 60%'></div>";
echo "</div>";
echo "<div class='gradient'></div>";
echo "<img src='img/layout/raid/zul_gurub.jpg'>";
echo "</div>";
echo "<div id='raid".$raid_name."' class='collapse raidCollapse' data-parent='#toggleraid'>";
echo "</div>";
echo $bosses_html;
}
В этом примере первый набор эхо-сигналов перемещается ниже внутреннего цикла.HTML-код, который обычно отображается во внутреннем цикле, сохраняется в переменной, которая будет отображаться позже в конце.