Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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


Ответ
 
Опции темы
Старый 17.02.2020, 18:57   #1
leon2009sp
Пользователь
 
Регистрация: 22.12.2015
Сообщений: 30
По умолчанию как поместить слова в таблицу

Здравствуйте! как поместить слова из массива в таблицу?
таблица 4 и пока не закончатся слова. т.е. все слова на А в одном столбике все на Б в другом и.т.д. НО должно быть 4 столбца.
Код:
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
</tr>
<tr>
<td>n</td>
<td>n</td>
<td>n</td>
<td>n</td>
</tr>
</table>
пробовал так:
Код:
<?php
$arr = array('Actona', 'Aricasa', 'ARTE Lamp', 'Apollo', 'Anli', 'BONTEMPI', 'BelVase', 'Beal. Real', 'Blonder Home', 'Casa Vera', 'ClassicFlame', 'Easyfurn', 'FMD', 'Fif', 'FENICE', 'Forma Ideale', 'Friedrich von der Kohlen', 'Flocmat', 'FRAMAR', 'Garantie Mobel', 'Gumexpo', 'Globo', 'Germania', 'GIMI', 'Honsel', 'Haku', 'Heinz Hofmann', 'IMV-Steinheim', 'INNOVATION', 'InterFlame', 'Komforta Mobel', 'KESPER', 'Myflair', 'Marquis', 'Martini spa', 'NATISA', 'Nikotex', 'O&amp;G', 'ODISO', 'Paroli', 'Pushe', 'PRISMEA', 'Polster Luxe', 'PICARD &amp; WIELPUTZ', 'Primavelle', 'Pinella', 'Rinos', 'Ravel', 'Solutions', 'Sobranie', 'SSW', 'Trio', 'Vental', 'ZELLER');
//for ($i = 1; $i <= count($arr); $i++)
// {
//  echo $arr[$i]." ";
//} 
$letter='';
$rows = 1;// count($arr); // количество строк, tr
$cols = 4; // количество столбцов, td
echo '<table border="1">';
for ($tr=1; $tr<=$rows; $tr++)
{ 
echo '<tr>';
for ($td=1; $td<=$cols; $td++){ // в этом цикле счётчик $td аналогичен
                                    // счётчику $tr.
	echo '<td>';
foreach($arr as $r){
    if($letter!=$r[0]){
    $letter=$r[0];          
    echo '<h1>', strtoupper($letter),'</h1>';
    }
    echo '<br />название:', $r,'';
}
}
echo '</td></tr>';
}
echo '</table>';
?>
пробовал ТАК:
Код:
<?php
//$a = file('bd/city1.txt');

$arr = 'Actona Aricasa ARTE Lamp Apollo Anli BONTEMPI BelVase Beal. Real Blonder Home Casa Vera ClassicFlame Easyfurn FMD Fif FENICE Forma Ideale';
$words = explode(' ', $arr);

echo '<table width="500" border="1"><tr><th>№</th><th>Название</th><th>Уровень</th><th>Очки</th></tr>';
for($i=0;$i<10;$i++)
{
  $sub = explode(',', $a[$i]);
  echo '<tr><td>' . ($i+1) . '</td><td>' . $words[$i]  .'</td><td>' . $sub[2] . '</td><td>' . $sub[3] . '</td></tr>';
}
echo '</table>';
?>
<?php
  $str = "345|mail@mail.ru|http://www.softtime.ru|login|password";
  $arr = explode("|",$str);
  for($i = 0; $i < count($arr); $i++)
  {
     echo $arr[$i]."<br />";  
  } 
?>
<?php
$arr = 'Actona Aricasa ARTE Lamp Apollo Anli BONTEMPI BelVase Beal. Real Blonder Home Casa Vera ClassicFlame Easyfurn FMD Fif FENICE Forma Ideale';
$words = explode(' ', $arr);
$rows = 2; // количество строк, tr
$cols = 4; // количество столбцов, td
echo '<table border="1">';
for ($tr=1; $tr<=$rows; $tr++){ // в этом цикле счётчик $tr 
    // следит за количеством строк и всегда равен текущему номеру строки.
    // То есть в начале $tr=1, так как в начале у нас 1 строка, затем
    // каждый раз прибавляем единицу, пока не дойдём до заданного количества
    // $rows.
    echo '<tr>';
    for ($td=1; $td<=$cols; $td++){ // в этом цикле счётчик $td аналогичен
                                    // счётчику $tr.
	echo '<td>'; 
	
for ($i = 0; $i <= 10; $i++)
  {
//	for ($i = 0; $i < count($words); $i ++) {
       echo '<td><br>' . $words[$i] . '<br></td>';
  //  }
}   
echo '</td>';
}
	echo '</tr>';
}
echo
идеи закончились
leon2009sp вне форума Ответить с цитированием
Старый 17.02.2020, 20:40   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 3,615
По умолчанию

1. В цикле формируете новый массив массивов, да, так можно )
схематично так
- делаем цикл по словам
- берем первую букву слова например в $letter
- $ARRAY[$letter][] = $word
- конец цикла
получим массив в котором например в $ARRAY['a'] все слова на а итд
теперь вывод
- находим MAX длину массива слов на букву, начинаем цикл с 0 до него
- внутри делаем цикл по array_keys($ARRAY)
- выводим строку таблицы с ячейками $ARRAY[$letter, $i]
конец циклов, радость

на пыхе писать щас неудобно и нет времени
ADSoft вне форума Ответить с цитированием
Старый 20.02.2020, 10:57   #3
leon2009sp
Пользователь
 
Регистрация: 22.12.2015
Сообщений: 30
По умолчанию

можно примерчик?
leon2009sp вне форума Ответить с цитированием
Старый 20.02.2020, 13:55   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 3,615
По умолчанию

Нельзя
Дал готовый алгоритм - реализуйте
Что не прюолучится - кол выкладывайте, помодем
ADSoft вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C#] Дан массив.Создать новый массив, в который поместить элементы так: первым поместить макс. элемент исходного массива, затем мин; далее макс и мин из оставшихся и так далее PickaBuu Помощь студентам 5 18.12.2017 07:49
Вывод найденного слова на Мемо(Делфи 7) и стирать при поиски нового слова hasanovaaygerim Помощь студентам 0 20.11.2013 20:50
Вывести слова предложения в таком порядке, чтобы последняя буква каждого слова совпадала с первой буквой следующего слова ( java ) huhu Помощь студентам 0 06.04.2012 18:42
Разбить текст на слова и произвести поиск каждого слова по текстовому массиву Burning_brook Microsoft Office Excel 2 22.05.2010 00:56
как слова передать в таблицу umr Microsoft Office Access 0 20.11.2009 11:31


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840