Не могу заставить чтобы выполнялось условие или в операторе if или в else щас выполняеться и там и там а хочу заставить если $i <=5 то вывести этот блок с записями а если условие не совподает то выполнить вывод другово блока вот сам код PHP: <div class="dishes-list-wrapper row"> <?php if (have_rows('block_2_2')): ?> <?php $i = 0; while (have_rows('block_2_2')) : the_row(); { if ($i <= 4) { //var_dump($i); echo '<div class="dishes-list left col-sm-12"> <div class="dishes-item"> <div class="dotted"> <span class="dish-id padr5">' . get_sub_field('block_2_2_1') . '</span> <span class="dish-title">' . get_sub_field('block_2_2_2') . '</span> <div class="dish-price inline pull-right">' . get_sub_field('block_2_2_4') . '</div> </div> <div class="dish-description"> <div class="dish-consist grey inline">' . get_sub_field('block_2_2_3') . '</div> <div class="dish-weight brown inline pull-right"></div> </div> </div> </div>'; } else { var_dump ($i); echo '<div class="dishes-list left col-sm-12 col-md-6"> <div class="dishes-item"> <div class="dotted"> <span class="dish-id padr5">' . get_sub_field('block_2_2_1') . '</span> <span class="dish-title">' . get_sub_field('block_2_2_2') . '</span> <div class="dish-price inline pull-right">' . get_sub_field('block_2_2_4') . '</div> </div> <div class="dish-description"> <div class="dish-consist grey inline">' . get_sub_field('block_2_2_3') . '</div> <div class="dish-weight brown inline pull-right"></div> </div> </div> </div>'; } $i++; } endwhile; ?> <?php endif; ?> </div> сайт где можно посмотреть [удалено, т.к. там не видно, где смотреть] в блоке меню
оно очевидно не ноль, т.к. вардамп показал, что $i у вас 5 перепишите на нормальные скобочки, будет сразу понятно, что у вас $i по единичке растёт раз за разом в цикле.
ну так оно и должно расти но если в цикле уже 6 записей насколько я понимаю условие if уже не должно сработать а сработать в условии else ? а у меня получаеться срабатывает цикл во всех условиях
у вас условие находится ВНУТРИ цикла, и дёргается КАЖДЫЙ раз при проходе по циклу. Если хотите, чтобы условие вызывалось до цикла один раз - то цикл надо засунуть в нужный блок условия, а не наоборот.
Реализовал через функцию cout ответ нашол у вас же https://php.ru/manual/function.count.html и код получил на выходе вот такой PHP: <div class="dishes-list-wrapper row"> <?php if (have_rows('block-4_2')): ?> <?php while (have_rows('block-4_2')) : the_row(); $my_fields = get_field_object('block-4_2'); $count = (count($my_fields['value'])); //считаем количество елементов //echo $count; if ($count <= 5): ?> <div class="dishes-list left col-sm-12"> <div class="dishes-item"> <div class="dotted"> <span class="dish-id padr5"><?php echo get_sub_field('block-4_2_1'); ?></span> <span class="dish-title"><?php echo get_sub_field('block-4_2_2'); ?></span> <div class="dish-price inline pull-right"><?php echo get_sub_field('block-4_2_4'); ?></div> </div> <div class="dish-description"> <div class="dish-consist grey inline"><?php echo get_sub_field('block-4_2_3'); ?></div> <div class="dish-weight brown inline pull-right"></div> </div> </div> </div> <?php else: ?> <div class="dishes-list left col-sm-12 col-md-6"> <div class="dishes-item"> <div class="dotted"> <span class="dish-id padr5"><?php echo get_sub_field('block-4_2_1'); ?></span> <span class="dish-title"><?php echo get_sub_field('block-4_2_2'); ?></span> <div class="dish-price inline pull-right"><?php echo get_sub_field('block-4_2_4'); ?></div> </div> <div class="dish-description"> <div class="dish-consist grey inline"><?php echo get_sub_field('block-4_2_3') ?></div> <div class="dish-weight brown inline pull-right"></div> </div> </div> </div> <?php endif; ?> <?php endwhile; ?> <?php endif; ?> </div> --- Добавлено --- мне надо чтоб условие всегда проверялось именно в цикле
я этот код вообще прочесть не могу, но мне так кажется, что в цикле вы одно и то же извлекаете и проверяете.