Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите построить условие для выхода из рекурсии

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
imedia
Отправлено: 07 Марта, 2016 - 10:19:07
Post Id



Частый гость


Покинул форум
Сообщений всего: 192
Дата рег-ции: Июль 2015  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. public function screen_cat($arr,$main_cat_id,$max) {
  3.  
  4. if(!isset ($list)){
  5. $list='';
  6. }
  7. //Условия выхода из рекурсии
  8. //если во входящем массиве присутствует среди айдишников $max то эта рекурсия последняя
  9.                
  10. //перебираем в цикле массив и формируем строку html
  11. for($i = 0; $i < count($arr);$i++) {
  12. $list .= '<li class="men"><a href="/pages/page/'.$arr[$i]['parent_id'].'">'.$arr[$i]['name'].'</a>';
  13. //рекурсия - проверяем нет ли дочерних категорий
  14.                 $main_cat_num[0]=0;
  15.                 $main_cat_num[1]=$main_cat_id;
  16.                 $view_cat=$this->get_cat($main_cat_num,$arr[$i]['parent_id']);
  17.                 $this->screen_cat($view_cat,$main_cat_num);  
  18.                 $list .= '</li>';
  19. }
  20. return $list;
  21. }
  22.  

(Отредактировано автором: 07 Марта, 2016 - 10:19:27)

 
 Top
OrmaJever Модератор
Отправлено: 07 Марта, 2016 - 11:23:43
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)





должно помочь


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB