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

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

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

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

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

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

Здравствуйте! как поместить слова из массива в таблицу?
таблица 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
Сообщений: 4,150
По умолчанию

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
Сообщений: 119
По умолчанию

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

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


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

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

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


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