for循环与while循环

循环结构三要素

a. 初始值php

b. 循环条件code

c. 改变条件io

for循环

声明格式for循环

for(表达式1;表达式2;表达式3){table

​ 循环体语句变量

}
表达式1:用来循环的变量初始值。(开始值)select

表达式2:用来判断循环的条件。(结束值)循环

表达式3:用来改变循环的条件。(定义值)gc

案例:下拉框从1900-2018tab

<?php
echo '<select>';
		for($i=1900;$i<=2018;$i++){
			echo '<option>'.$i.'</option>';
		}
	echo '</select>年';

案例:表格制做

<?php
//外层for循环控制tr
//内层for循环控制td
//使用双层循环输出十行十列隔行变色表格		
echo '<table border="1" width="800"  align="center">';
    for($a=0; $a<10;$a++){
		if($a % 2 !=0) {
			$bgcolor="red";
		}else{
			$bgcolor="pink";
		}
		echo'<tr bgcolor=" '.$bgcolor.'">';
		for($j=0;$j<10;$j++){
			echo'<td>1</td>';
		}
			echo '</tr>';
	    }  	
			echo '</table>';
			?>
<?php
//单层循环输出十行十列隔行变色表格
	echo  '<table border="1" width="800" align="center">';
// echo '<tr>';
			for($i=0;$i<100;$i++){
				if($i % 10 == 0){
					//echo '<tr>';
					if($i % 20 == 0){
						//我是偶数行
						echo '<tr bgcolor="green">';
					}else{
						//我是奇数行
						echo '<tr bgcolor="gold">';
					}
				}
				echo '<td>'.$i.'</td>';

				if($i % 10 == 9){
					echo '</tr>';
				}
			}
		//echo '</tr>';

	echo '</table>';

<!--第一行<tr>0-9</tr>-->
<!--第二行<tr>10-19</tr>-->
<!--第三行<tr>20-29</tr>-->
<!--第四行<tr>30-39</tr>-->
<!--第五行<tr>40-49</tr>-->
<!--相同颜色的行-->
<!--0 20 40 60 80-->
<!--10 30 50 70 90-->

while循环

while 格式:

while(判断条件){

​ 循环体语句

}

?php
echo  '<table border="1" width="800" align="center">';
$i= 0;
while($i<10){
	echo '<tr>';
		$j =0;
		while($j<10){
			echo '<td>'.$j.'</td>';
			$j++;
		}
	echo '</tr>';
	$i++;
}
echo '</table>';

do...while 循环

do...while 格式:

do{

​ 循环体语句

<?php
}while(判断条件);
$i = 1;
	do{
		echo $i.'<br/>';
		$i++;
	}while($i<10);
	echo $i;
	?>

while 与 do...while 的区别:

<?php
	// 使用dowhile 输出1-10的数字
	//
	// while 和 dowhile 区别    
	// 先判断在执行,先执行在判断
	// do while  无论你同不一样意都先执行一次在说,以后在判断,若是能够继续循环,若是不能够跳出循环。
	// while 先判断,若是能够执行循环,若是不能够跳出循环。 

	$i = 1;
	do{
		echo $i.'<br/>';
		$i++;
	}while($i>10);

	echo '<hr/>';

	$j=1;
	while($j>10){
		echo $j.'<br/>';
		$j++;
	}

四个方向的九九乘法表

<?php 
	//正
	echo "<table border='1'>";
	for ($i=1; $i <= 9; $i++){
		echo "<tr>";
		for($j=1;$j<=$i;$j++){
			echo "<td>".$i."*".$j."=".$i*$j."</td>";		
		}
		echo "</tr>";
	}
	echo "</table>";
	echo "<hr />";

	//正 倒过来
	echo "<table border='1'>";
	for ($i=9; $i >= 1; $i--){
		echo "<tr>";
		for($j=1;$i>=$j;$j++){
			echo "<td>".$i."*".$j."=".$i*$j."</td>";		
		}
		echo "</tr>";
	}
	echo "</table>";
	echo "<hr>";

	//靠右侧正
	echo "<table border='1'>";
	for ($i=1; $i <= 9; $i++){
		echo "<tr>";
		for ($z=0; $z < 9-$i; $z++) { 
			echo "<td>&nbsp;</td>";
		}	
		for($j=1;$j<=$i;$j++){
			echo "<td>".$i."*".$j."=".$i*$j."</td>";		
		}
		echo "</tr>";
	}
	echo "</table>";
	echo "<hr />";

	//靠右反过来
	echo "<table border='1'>";
	for ($i=9; $i >= 1; $i--){
		echo "<tr>";
		for ($z=0; $z < 9-$i; $z++) { 
			echo "<td>&nbsp;</td>";
		}	
		for($j=1;$j<=$i;$j++){
			echo "<td>".$i."*".$j."=".$i*$j."</td>";		
		}
		echo "</tr>";
	}
	echo "</table>";
	echo "<hr />";
?>