// begin table centered with a border
print ('<table align = "center" border = 1>');
$index = 0; // initialize index
for ($i=0; $i <= $rows; $i++) {
print("<tr>"); // start row
for ($k=0; $k <= $columns; $k++) {
$index++; // increment the index value
// make sure we don’t exceed array bounds!
if ($index <= $num_items) {
tableContents( $images[$index],
$names[$index],
$item_num[$index],
$item_description[$index],
$item_price[$index],
$index);
}
else {
print("<td></td>"); // make blank cell
} // end if $index…
} // end inner for
print("</tr>"); // end row
} // end outer for…
print ("</table>"); // end table
我正在创建一个基本的php网页,将项目放在一个表格中,但是我的for循环中出现了问题,我需要一些帮助。看起来,数组并不是从0开始,我的$ index变量应该从0开始然后递增但是它会在开头吐出第2个项目。 任何帮助,将不胜感激!谢谢。
答案 0 :(得分:3)
在选择元素之前你有$index++
,这就是它从1开始的原因。在你的if-else语句结束后移动它。
另外,根据下面的评论,请确保您的数组不会超出范围。也就是说,如果数组中有n个元素,则最后一个元素的索引为n-1。因此,您可能需要$index < $num_items
,以及$k < $columns
和$i < $rows
。