Построчный вывод элементов массива

Markus®

Guest
Построчный вывод элементов массива

Есть массив. Если его перебирать foreach , то можно вывести элементы массива либо в строку либо в столбец по одному. А как сделать так чтоб например вывести построчно, то есть на каждой строке N - ое кол-во элементов?
Я хочу вытащить на страницу картинки, типа альбома, но их получается вывести только либо в одну строку, либо в столбец.
Вообщем вот пример:

PHP:
<?  
$spisok = '';  
$month = array ('1'=>'Январь','2'=>'Февраль','3'=>'Март','4'=>'Апрель','5'=>'Май','6'=>'Июнь',
'7'=>'Июль','8'=>'Август','9'=>'Сентябрь','10'=>'Октябрь','11'=>'Ноябрь','12'=>'Декабрь'); 
         foreach ($month as $value) {                  
                   $spisok .= $value;              
}  
echo $spisok;  
?>
Этот код выведет следующее

МесяцЯнварьФевральМартАпрельМайИюньИюльАвгустСентябрьОктябрьНоябрьДекабрь

А если в этом же коде переписать так:
PHP:
$spisok .= $value.'<br>';
То список выйдет в столбик.
А мне надо чтобы вышло так;

МесяцЯнварьФевральМарт
АпрельМайИюньИюльАвгуст
СентябрьОктябрьНоябрьДекабрь


Надеюсь что объяснил понятно.
 

netdog

net @
PHP:
<?php


$spisok = '';
$c=1;
$month = array ('1'=>'Январь','2'=>'Февраль','3'=>'Март','4'=>'Апрель','5'=>'Май','6'=>'Июнь', 
'7'=>'Июль','8'=>'Август','9'=>'Сентябрь','10'=>'Октябрь','11'=>'Ноябрь','12'=>'Декабрь');          foreach ($month as $value) {
          $spisok .= (($c++%4)==0)?($value."<br>\n"):($value);
}

echo $spisok;
?>
=)

-~{}~ 19.05.04 02:48:

p.s. %4 это и есть твоё N - ое кол-во элементов!
 

Фанат

oncle terrible
Команда форума
Markus®
только называется это не построчный, а вывод в несколько колонок.
 

Markus®

Guest
2Фанат
Будем знать.
2Net Dog
То что надо!
2Всем
Есть еще один вопрос.
Не знаю стоит ли создавать новую тему. Если да то я создам отдельную тему.
Вопрос в следующем как можно стандартными функциями определить время и дату на машине клиента, а не серверное время.
Дело в том что у меня страница на хосте с которым у меня разница почти 9 часов. И например у меня уже 20, а мне выводится 19. А под конец месяца вообще... у меня уже май а выводится апрель.
Как это можно уладить?
 

Фанат

oncle terrible
Команда форума
стандартными - никак.
а какая разница?

а "почти 9 часов" - это как?
9 с четвертью?или 9 с половиной? типа, он посерединке часового пояса стоит?

-~{}~ 19.05.04 09:28:

хочешь вывести локальное - выводи время яваскриптом.
 

Markus®

Guest
Автор оригинала: Фанат
хочешь вывести локальное - выводи время яваскриптом.
Ясно. Я так и подумал что надо вывести яваскриптом.
Просто потом это значение надо сравнивать со значениями элементов в массиве.

И еще один вопрос по выводу в несколько колонок.
Допустим (все из того же примера) я хочу чтобы вывелось вот так

Январь Февраль Март Апрель
1 2 3 4
Май Июнь Июль Август
5 6 7 8
Сентябрь Октябрь Ноябрь Декабрь
9 10 11 12


Как такое сделать? Что то не допру , а вероятнее всего не знаю.
У меня получается но совсем по другому, не то что мне надо!
 

Фанат

oncle terrible
Команда форума
выводи html таблицей
в одной ячейке пиши название месяца и номер.
 

Markus®

Guest
Фанат
Да я уже так и сделал. Но из за этого столько кода лишнего!
Мне вот на ум одна мысля пришла, сейчас проверю. Если получится отпишусь.

-~{}~ 19.05.04 15:16:

Все же должен быть способ сделать это не с помощью HTML.
Слишком много кода получается.
Выше приведенный код это просто пример.
На самом деле все сложнее. Я вывожу картинки, а под ними радио кнопки с таким ID что и картинки.
 

Фанат

oncle terrible
Команда форума
Все же должен быть способ сделать это не с помощью HTML.
должен
однако, это утверждение никак не следует из следующего
Слишком много кода получается.
только потому, что ты н не знаешь, как сделать мало.
собственно, код с таблицей ничем не отличается от кода с бр-ами. его ровно столько же
На самом деле все сложнее. Я вывожу картинки, а под ними радио кнопки с таким ID что и картинки.
ТЕМ БОЛЕЕ - только таблица!

иди уже в "избранное", возьми готовый код и не мучайся.
 

Фанат

oncle terrible
Команда форума
ему деваться некуда :)
как бы, надо, чтобы радио было под картинкой , и, делательно - ровно, а не вкось :)

а язык разметки страниц в вебе у нас пока - хтмл :)
впрочем - если сделает слоями - флаг в руки :)
 

Markus®

Guest
Фанат
Я знаю как в HTML сделать мало кода.
Фанат
Это понятно что язык разметки HTML.
Просто в поисках того что нужно зарегился на форуме и в профиле решил выбрать аватар, смотрю а там то что мне нужно. То есть без всяких вложенных таблиц. Правда там база на мускуле.
Я вот подумал а нельзя ли тогда сделать так, например 3 цикла выводит одно, возвращается выводит другое следующие три цикла первое возвращается на три цикла назад выводит второе?
Не знаю понятно объяснил.
 

Фанат

oncle terrible
Команда форума
То есть без всяких вложенных таблиц
а кто тебе говорил про вложенные таблицы?
Покажи мне его сюда!
Я вот подумал а нельзя ли тогда сделать так, например 3 цикла выводит одно, возвращается выводит другое следующие три цикла первое возвращается на три цикла назад выводит второе?
Не знаю понятно объяснил.
абослютно непонятно. :)
но думаю, что нельзя.
цикл должен быть ОДИН
Тебе его собственно, давно уже показали.
 

Markus®

Guest
Вот то что у меня получилось , то что хотел то и вышло, но коду там.......
а вот как я это сделал
PHP:
<?
$spisok = '';
$c = 1;
$month = array ('1'=>'Январь','2'=>'Февраль','3'=>'Март',
'4'=>'Апрель','5'=>'Май','6'=>'Июнь','7'=>'Июль','8'=>'Август',
'9'=>'Сентябрь','10'=>'Октябрь','11'=>'Ноябрь','12'=>'Декабрь');
        foreach ($month as $id =>$value) {
        $spisok .= (($c++%4)!=0)? ('<td><table><tr><td>'.$value.'</td></tr><tr><td>
        '.$id.'</td></tr></table></td>') : ('<td><table><tr><td>'.$value.'</td></tr><tr><td>
        '.$id.'</td></tr></table></td></tr><tr>');
            }
echo "<table width='50%' border='1'><tr>$spisok</table>" ;
?>
 

Фанат

oncle terrible
Команда форума
господи!
зачем столько таблиц???
почему одной не обойтись?

-~{}~ 20.05.04 00:05:

Net Dog
вообще, за такие примеры надо по рукам бить.
тебе на строчку больше было лень написать, а в результате вот такие уроды получаются.

Markus®
не цепляйся тв за это формат!
он же неудобный!
?() : - это другая запись оператора if
означает, что в одном слукчае надо делать одно, а в друкгом - другое.
ну так зачем в него напихивать то, что делается в любом случае?
оставь в нем только переменный код!
 

Markus®

Guest
зачем столько таблиц??? почему одной не обойтись?
Ну подскажите ламеру как обойтись одной таблицей и сделать то что я хочу.

тебе на строчку больше было лень написать, а
А о какой строчке идет речь? типа чтоб если что последнии ячейки тоже выводились?
В принципе это я и сам догоню как нибудь, пока суть не в этом.
?() : - это другая запись оператора if
Это я знаю.
оставь в нем только переменный код!
А здесь если можно поподробнее. И не обессудьте за ламерские вопросы!
 

Фанат

oncle terrible
Команда форума
Ну подскажите ламеру как обойтись одной таблицей
иизвини, тебе рассказать основы хтмл?
как выводить информацию в таблице?

знаешь, что?
вся твоя проблема, и всех тебепомогающих, в том, что ты НЕ ЗНАЕШЬ что хочешь получить.
пишешь код, который неизвестно, что должен выводить.

вот сядь
нарисуй хтмл
чистый хтмл.
который ты хочешь получить.
а потом уже - если не сообразишь, как это сделать на пхп - спрашивай.

если не можешь нарисовать - имлости просим в форум по хтмл.
поспрашивай там, как рисовать таблицы.

А здесь если можно поподробнее
господи.
неужели так сложно глазами посмотреть на код, найти в нем ОДИНАКОВЫЕ части и вынести их из условия?
а в условии оставить только то, что меняется?

-~{}~ 20.05.04 00:46:

но коду там.......
ты можешь связно сказать - какого коду "там" и что тебя КОНКРЕТНО в этом коде не устраивает?
 

Markus®

Guest
Фанат
Вот что я хочу получить
PHP:
<table >
  <tr>
    <td>Январь</td><td>Февраль</td><td>Март</td><td>Апрель</td>
  </tr>
  <tr>
    <td>1</td><td>2</td><td>3</td><td>4</td>
  </tr>
  <tr>
    <td>Май</td><td>Июнь</td><td>Июль</td><td>Август</td>
  </tr>
  <tr>
    <td>5</td><td>6</td><td>7</td><td>8</td>
  </tr>
  <tr>
    <td>Сентябрь</td><td>Октябрь</td><td>Ноябрь</td><td>Декабрь</td>
  </tr>
  <tr>
    <td>9</td><td>10</td><td>11</td><td>12</td>
  </tr>
</table>
Но так не получается!
что ты НЕ ЗНАЕШЬ что хочешь получить.
Это зря! Я знаю что я хочу получить!
иизвини, тебе рассказать основы хтмл? как выводить информацию в таблице?
Мне и не надо рассказывать основы хтмл.
а потом уже - если не сообразишь, как это сделать на пхп - спрашивай.
Вот я и спрашиваю.
Видать это Вы меня не поняли что я хочу. Хотя я думаю я понятно объяснил и даже показал что сделал.
Я даже сказал что получил то что хотел, но хотелось бы обойтись меньшим колличеством хтмл кода.
И вообще спасибо, что хоть откликаетесь на зов о помощи.
 

Фанат

oncle terrible
Команда форума
тебе надо не хвататься за все сразу, а сначала вывести одни картинки.
а потом внутрь цикла их вывода включить еще один, который выводит цыферки
 
Сверху