Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.08.2016, 02:11   #1
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию Как узнать значение следующего элементо в foreach?

Доброе время суток
Есть такой цикл

Код:
<?php foreach($categories as $category):?>
                       <?php if (substr($category->position, 2, 5) == '0000'):?>
                            <li ><?=HTML::anchor($category->address_page, '<span>'.$category->name_page.'</span>', array('class'  => "uMenuItemA"))?></li>
                        <?php else:?>
                            <?php if (substr($category->position, 2, 5) == '--00'):?>
                                <li  class="uWithSubmenu"><?=HTML::anchor($category->address_page, '<span>'.$category->name_page.'</span>')?><ul> 
                            <?php else:?>
                                <li ><?=HTML::anchor($category->address_page, '<span>'.$category->name_page.'</span>')?></li>         
                            <?php endif?>            
                        <?php endif?>
                    <?php endforeach?>
Он перебирает категории (в массиве) и формирует html
Нужно после выполнения третьего <li >, какам-то образом проверять следующий элемент массива ($category->position), и если он равен определенному значению, после третьего </li> ставить еще «</ul></li>»
Такое можно сделать???

Заранее спасибо.
KBO вне форума Ответить с цитированием
Старый 16.08.2016, 07:40   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Он перебирает категории (в массиве) и формирует html
Нужно после выполнения третьего <li >, какам-то образом проверять следующий элемент массива ($category->position)
если массив не ассоциативный, тогда используйте цикл FOR
иначе, сделайте два прохода foreach по массиву - первый - сформируйте массив из $category->position, второй - уже сравнивайте, что Вам нужно.

Это если решать задачу "в лоб" (так, как Вы спросили).
Подозреваю, что есть и другое, более элегантное решение вашей задачи.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.08.2016, 16:38   #3
Igor[Игорь]
Пользователь
 
Аватар для Igor[Игорь]
 
Регистрация: 25.11.2011
Сообщений: 52
По умолчанию

Аналогично тому же как сделано и переход ко второму и третьему <li>
e-mail: igor23dec@yandex.ru , ICQ: 2168364 , Telegram: @IgorVN
Delphi, PHP
Примеры http://igorvn.ucoz.ru/
Igor[Игорь] вне форума Ответить с цитированием
Старый 18.08.2016, 18:57   #4
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 525
По умолчанию

Спасибо за ответы
KBO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать значение поля по RecNo _SERGEYX_ БД в Delphi 8 26.10.2011 15:46
Oпределить значение переменных p после выполнения следующего фрагмента программы AndyMark Паскаль, Turbo Pascal, PascalABC.NET 16 19.12.2010 18:32
Как узнать предыдущее id-значение? denisov PHP 1 08.05.2010 19:58
Определить значение переменной y после работы следующего фрагмента программы mastar Помощь студентам 7 09.04.2010 19:47
Как узнать текущий индекс в foreach boris-blade Общие вопросы .NET 4 25.03.2010 19:26