在书上看到一个这样的写法,<?php do{ ?> …………<?php ?>……<?php }while($suit=mysql_fetch_array($sql)) ?> 看得我流泪了,第一:怎么do 和 while还能写在两个<?php ?>中的???能给我说说具体的标签用法吗?第二 $suit=mysql_fetch_array($sql) 在循环中能自动的往下移吗?$sql是个数据记录集,,mysql_fetch_array($sql)在一个循环结束后,会自动往下走吗?
do-while 和 while 循环非常相似,区别在于表达式的值是在每次循环结束时检查而不是开始时。和正规的 while 循环主要的区别是 do-while 的循环语句保证会执行一次(表达式的真值在每次循环结束后检查),然而在正规的 while 循环中就不一定了(表达式真值在循环开始时检查,如果一开始就为 FALSE 则整个循环立即终止)。 do-while 循环只有一种语法:
<?php
$i = 0;
do {
echo $i;
} while ($i > 0);
?> 以上循环将正好运行一次,因为经过第一次循环后,当检查表达式的真值时,其值为 FALSE($i 不大于 0)而导致循环终止。 资深的 C 语言用户可能熟悉另一种不同的 do-while 循环用法,把语句放在 do-while(0) 之中,在循环内部用 break 语句来结束执行循环。以下代码片段示范了此方法:
<?php
do {
if ($i < 5) {
echo "i is not big enough";
break;
}
$i *= $factor;
if ($i < $minimum_limit) {
break;
}
echo "i is ok"; /* process i */} while(0);
?>
do-while 和 while 循环非常相似,区别在于表达式的值是在每次循环结束时检查而不是开始时。和正规的 while 循环主要的区别是 do-while 的循环语句保证会执行一次(表达式的真值在每次循环结束后检查),然而在正规的 while 循环中就不一定了(表达式真值在循环开始时检查,如果一开始就为 FALSE 则整个循环立即终止)。 do-while 循环只有一种语法:
<?php
$i = 0;
do {
echo $i;
} while ($i > 0);
?> 以上循环将正好运行一次,因为经过第一次循环后,当检查表达式的真值时,其值为 FALSE($i 不大于 0)而导致循环终止。 资深的 C 语言用户可能熟悉另一种不同的 do-while 循环用法,把语句放在 do-while(0) 之中,在循环内部用 break 语句来结束执行循环。以下代码片段示范了此方法:
<?php
do {
if ($i < 5) {
echo "i is not big enough";
break;
}
$i *= $factor;
if ($i < $minimum_limit) {
break;
}
echo "i is ok"; /* process i */} while(0);
?>
当你要在循环中嵌套html代码时 你不觉得这样很方便吗?
<?php
$i=1;
do{?>
这是第<?php echo $i?>循环<br>
<?php
$i++;
}while($i<10)?>
<td><?php echo $test; ?></td>
<?php }while()?>
$i=1;
do{?>
这是第<?php echo $i?>循环<br>
<?php
$i++;
}while($i<10)?>