最后一个问题没有收到,所以我做了更多的阅读,想出了一个简单的php程序,接受用户输入的行数和列数。使用嵌套的while循环生成一个表,我确实理解了' For'循环更适合这个并让它使用一个。努力学习并变得更好,所以我也想弄清楚这一点。我只获得一行而没有列。我还希望迭代生成看起来像示例的行和列。有点沮丧的for循环更容易终于搞清楚。
W,row1,col1; W,row1,col2; W,row1,col3
W,row2,col1; W,row2,col2; W,row2,col3 etc...
php代码:
<?php
if(isset($_GET['rows'])) {
$r = 1;
$c = 1;
$rows = 5;
$cols = 6;
while ($r <= $rows) {
echo '<tr>';
while($c <= $cols) {
echo '<td>W, '.'row' .$r.',col'.$c.';</td>';
$c++;
}
echo '</tr>';
$r++;
}
?>
答案 0 :(得分:1)
你永远不会改变你在while
条件下测试的变量,所以循环是无限的。您需要每次都减少变量。
你需要在每个内循环之前重新初始化$cols
。否则,在外循环的第一次迭代之后,已经满足结束条件。
$count = 1;
$rows = $_REQUEST['rows'];
//while loop to create table
while ($rows-- >= 1) {
echo '<tr>';
$cols = $_REQUEST['cols'];
while ($cols-- >= 1) {
echo '<td>W,row1,col1;</td>';
$count++
}
echo '</tr>';
}
答案 1 :(得分:-1)
你可以这样做:
if(isset($_GET['rows'])) {
//Create counters
$count = 1;
$rows = $_REQUEST['rows'];
$cols = $_REQUEST['cols'];
//for loop to create table
for($i=1;$i<=$rows;$i++){
echo '<tr>';
for($j=1;$j<=$cols;$j++){
echo '<td>W,'.'row'.$i.',col'.$j.';</td>';
}
echo '</tr>';
}
}