Вопрос по форматированию вывода в PHP / XHTML - PullRequest
2 голосов
/ 31 октября 2009

Есть ли способ вывести или вывести 10 элементов на строку внутри таблицы в PHP из индексированного массива с числом элементов X типа int.

Может быть, о какой-то функции я не слышал?

Или какая-то техника, которую используют как профессионалы, так и новички.

Я буду вставлять код для TR и TD; однако мне было просто интересно, есть ли что-то, что я мог бы использовать, чтобы в моей таблице было только 10 элементов на строку.

[Отказ от ответственности: я новичок в PHP, и я только учусь, поэтому, пожалуйста, не болтайте, это действительно мешает процессу обучения, когда кто-то пытается найти решения или информацию, спасибо.]

Ответы [ 2 ]

5 голосов
/ 31 октября 2009

Вы можете использовать счетчик в цикле, чтобы отслеживать, сколько <td> элементов вы сгенерировали в текущей строке:

echo "<tr>";
$i = 0;
foreach (...)
{
    if ($i++ % 10 == 0)
    {
        echo "</tr><tr>";
    }
    echo "<td></td>";
}
echo "</tr>";
2 голосов
/ 31 октября 2009

Мне нравится использовать: foreach, array_chunk и implode, чтобы сделать это. Это лучше, чем возиться с увеличивающимися переменными. Я предлагаю вам обзор array основы - это мощный материал.

// here's an array with integers 1 to 50, for example:
$your_array = range(1,50);

// set how many you want in each row
$per_row = 10;

print "<table cellspacing='0' cellpadding='2' border='1'>\n";

Вот код, который вы можете вставить, чтобы заменить то, что у вас есть:

foreach (array_chunk($your_array, $per_row) as $set_of_numbers) {
    print "<tr><td>";
    print implode('</td><td>',$set_of_numbers);
    print "</td></tr>\n";
}

И закончить с:

print "</table>\n";

Это должно дать вам результат, который вы описываете, набор целых чисел в таблице, с 10 элементами в строке. Теперь, если размер $ your_array имеет остаток от деления на 10, вам может понадобиться добавить эти ячейки для внешнего вида, но это вторично.

Выход:

<table cellspacing='0' cellpadding='2' border='1'>
<tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td><td>10</td></tr>
<tr><td>11</td><td>12</td><td>13</td><td>14</td><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td></tr>
<tr><td>21</td><td>22</td><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td>28</td><td>29</td><td>30</td></tr>
<tr><td>31</td><td>32</td><td>33</td><td>34</td><td>35</td><td>36</td><td>37</td><td>38</td><td>39</td><td>40</td></tr>
<tr><td>41</td><td>42</td><td>43</td><td>44</td><td>45</td><td>46</td><td>47</td><td>48</td><td>49</td><td>50</td></tr>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...