有沒有一種方法可以在PHP中從一個X數量的元素類型爲int的索引數組中每行打印或輸出10個元素。關於在PHP/XHTML中輸出格式化的問題
也許有些功能,我沒有聽說過?
或某些專業人士或初學者使用的技術。
我會爲TR和TD嵌入一些代碼;然而,我只是想知道是否有什麼我可以用來在我的表內每行只有10個元素。
[免責聲明:我是新來的PHP,和我剛學,所以請沒有縱火,它真的阻礙當一個人試圖尋找解決方案或信息的學習過程,謝謝。]
有沒有一種方法可以在PHP中從一個X數量的元素類型爲int的索引數組中每行打印或輸出10個元素。關於在PHP/XHTML中輸出格式化的問題
也許有些功能,我沒有聽說過?
或某些專業人士或初學者使用的技術。
我會爲TR和TD嵌入一些代碼;然而,我只是想知道是否有什麼我可以用來在我的表內每行只有10個元素。
[免責聲明:我是新來的PHP,和我剛學,所以請沒有縱火,它真的阻礙當一個人試圖尋找解決方案或信息的學習過程,謝謝。]
: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>
你可以使用計數器在循環,以保持你有多少<td>
元素當前行中產生的軌跡:
echo "<tr>";
$i = 0;
foreach (...)
{
if ($i++ % 10 == 0)
{
echo "</tr><tr>";
}
echo "<td></td>";
}
echo "</tr>";
你的代碼把只有9中的第一行中的元素。要修復,請將$ i初始化爲0。我更喜歡我的代碼,因爲它避免了這樣一個錯誤的錯誤http://en.wikipedia.org/wiki/Off-by-one_error – artlung
好吧,我將開始檢查數組的基礎知識,其次是foreach ,array_chunk和implode,謝謝。 – Newb