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 :: Foreach разбить по 4 элемента

 PHP.SU

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


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

> Без описания
kapUstin
Отправлено: 20 Марта, 2016 - 12:37:25
Post Id


Новичок


Покинул форум
Сообщений всего: 34
Дата рег-ции: Нояб. 2010  


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




Сейчас с помощью foreach вывожу все элементы массива
Необходимо, чтобы после каждого четвертого элемента ставился перевод строки <br>
Подскажите как такое можно сделать
 
 Top
Flash_PR
Отправлено: 20 Марта, 2016 - 12:48:38
Post Id



Посетитель


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


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




kapUstin пишет:
Сейчас с помощью foreach вывожу все элементы массива
Необходимо, чтобы после каждого четвертого элемента ставился перевод строки <br>
Подскажите как такое можно сделать


Целочисленное деление. Либо разбить массив на подмассивы array_chunk().


-----
Умные мысли приходят тогда, когда все глупости уже сделаны...
 
My status
 Top
3d_killer
Отправлено: 20 Марта, 2016 - 12:51:08
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




PHP:
скопировать код в буфер обмена
  1. $n=0;
  2. foreach($array as $key =>$value)
  3. {
  4. $n++;
  5. echo $value;
  6. if($n==4){echo "<br>";}
  7. }
 
My status
 Top
kapUstin
Отправлено: 20 Марта, 2016 - 12:53:08
Post Id


Новичок


Покинул форум
Сообщений всего: 34
Дата рег-ции: Нояб. 2010  


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




Спасибо, сейчас попробую!
 
 Top
Flash_PR
Отправлено: 20 Марта, 2016 - 13:00:33
Post Id



Посетитель


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


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




3d_killer ТС надо вставить после каждого 4 элемента, не только после первого. В if нужно тогда обнулить счетчик


-----
Умные мысли приходят тогда, когда все глупости уже сделаны...
 
My status
 Top
kapUstin
Отправлено: 20 Марта, 2016 - 13:03:19
Post Id


Новичок


Покинул форум
Сообщений всего: 34
Дата рег-ции: Нояб. 2010  


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




еще один нубский вопрос. А как тогда можно разбить другую структуру, типа:

echo "<ul>";
foreach($array as $key =>$value)
{
echo "<li>$value</li>";
}
echo "</ul>";

Можно ли весь массив разбить на списки по 4 элемента в каждом?
 
 Top
Flash_PR
Отправлено: 20 Марта, 2016 - 13:05:57
Post Id



Посетитель


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


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




PHP:
скопировать код в буфер обмена
  1.  
  2. foreach($arr as $k=>$v){
  3.         $i++;
  4.         echo $v;
  5.         if($i%4 == 0){echo '<br>';}
  6. }
  7.  


-----
Умные мысли приходят тогда, когда все глупости уже сделаны...
 
My status
 Top
3d_killer
Отправлено: 20 Марта, 2016 - 13:10:33
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




как то так:
PHP:
скопировать код в буфер обмена
  1. $i=0;
  2. $count=sizeof($array)-1;
  3. foreach($array as $key =>$value)
  4.         {
  5.                 $i++;
  6.                 if($i==1){echo "<ul>";}
  7.                 echo "<li>".$value."</li>";
  8.                 if($i==4 || $count==$key)
  9.                         {echo "</ul>"; $i=0;}
  10.         }
 
My status
 Top
Flash_PR
Отправлено: 20 Марта, 2016 - 13:15:44
Post Id



Посетитель


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


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




или так
PHP:
скопировать код в буфер обмена
  1.  
  2. $arr = array('a','b','c','d','e','f','g');
  3. $arr2 = array_chunk($arr, 4);
  4. foreach($arr2 as $key){
  5.         echo '<ul>';
  6.         foreach($key as $k => $v){
  7.                 echo '<li>'.$v.'</li>';
  8.         }
  9.         echo '</ul>';
  10. }
  11.  


-----
Умные мысли приходят тогда, когда все глупости уже сделаны...
 
My status
 Top
kapUstin
Отправлено: 20 Марта, 2016 - 13:17:04
Post Id


Новичок


Покинул форум
Сообщений всего: 34
Дата рег-ции: Нояб. 2010  


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




Flash_PR пишет:
или так
PHP:
скопировать код в буфер обмена
  1.  
  2. $arr = array('a','b','c','d','e','f','g');
  3. $arr2 = array_chunk($arr, 4);
  4. foreach($arr2 as $key){
  5.         echo '<ul>';
  6.         foreach($key as $k => $v){
  7.                 echo '<li>'.$v.'</li>';
  8.         }
  9.         echo '</ul>';
  10. }
  11.  


Это вроде посимпатичнее?
 
 Top
Flash_PR
Отправлено: 20 Марта, 2016 - 13:18:24
Post Id



Посетитель


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


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




kapUstin пишет:
Это вроде посимпатичнее?

Тебе выбирать.........))


-----
Умные мысли приходят тогда, когда все глупости уже сделаны...
 
My status
 Top
kapUstin
Отправлено: 20 Марта, 2016 - 13:28:43
Post Id


Новичок


Покинул форум
Сообщений всего: 34
Дата рег-ции: Нояб. 2010  


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




спасибо еще раз
 
 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