Я бы посоветовал вам отслеживать переменную внутри цикла foreach.
Мне легче читать и отлаживать, поскольку вы знаете, на какой итерации вы находитесь, если что-то пойдет не так.
<?php
$counter = 0;
foreach(range(1,10) as $i) {
$counter++;
if($counter === 1) {
// do stuff
}
}
Я не запускал ваш код, но мне кажется, я вижу проблему
$f_count = 0;
все в порядке
if($f_count++ == 1)
это будет сравнивать исходное значение f_count
и затем увеличивать его, поэтому после сравнения оно станет равным 1.
То же самое относится и к следующему, так что все они могут приравняться к истине, или, может быть, ни один из них не сработает ... кто знает ... Просто следите за этим и увеличивайте