簡體   English   中英

有關PHP / XHTML中輸出格式的問題

[英]Question about output formatting in PHP/XHTML

有沒有一種方法可以從帶有X個int類型元素的索引數組的PHP表格中的每行中僅打印或輸出10個元素。

也許有些功能,我沒聽說過嗎?

或專業人員或初學者都使用過的某種技術。

我將為TR和TD嵌入一些代碼; 但是,我只是想知道是否可以使用某些東西來使表中的每行只有10個元素。

[免責聲明:我是PHP的新手,我只是在學習,所以請不要抱怨,它確實會阻礙人們嘗試查找解決方案或信息時的學習過程,謝謝。

您可以在循環中使用計數器來跟蹤當前行中生成了多少<td>元素:

echo "<tr>";
$i = 0;
foreach (...)
{
    if ($i++ % 10 == 0)
    {
        echo "</tr><tr>";
    }
    echo "<td></td>";
}
echo "</tr>";

我喜歡使用: foreacharray_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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM