【小白笔记】PHP学习之路 (6) --流程控制

if语句:

			if(表达式1){
				代码段1
			}elseif(表达式2){
				代码段2
			}elseif(表达式3){
				代码段3
			}else{
				代码段4
			}
需要注意,如果执行到了代码段3,说明表达式1和表达式2均不成立,并且表达式3成立,而不是仅仅是表达式3成立。

分支语句:

switch分支语句(执行结构清晰,效率高):

	switch(表达式){
		case 值1:
		...
		break;
		case 值2:
		...
		break;
		default:
		...
	}

需要注意的是,如果在某一分支满足条件,而该分支下没有break语句,将会继续执行下面的语句,而不是跳出判断。
可以没有default语句。

循环语句:

while语句:

while(){
	语句;
}

为防止死循环,可以在php.ini文件中限制脚本最大执行时间:
max_execution_time = 30 

也可以直接使用系统内置的限制函数:
	$x = 1;
	while($x){
		echo $x++."<br/>";
	}
	set_time_limit(10);


对循环语句,可以使用这样的写法来避免过多花括号的烦恼:
	foreach($arr as $k=>$v):
		语句1;
		语句2;
		...
	endforeach;

这种写法适用于while、for、foreach、switch。

小例子:
<style>
	.bg_red{background-color:#f00; color:#fff;}
</style>

<?php
	$mysqli = new mysqli('localhost', 'root', '','edu');
	$i = 1;
	while($i<=100){
		$sql = "insert into user (uname,age) values('qizhi{$i}',$i)";
		$mysqli->query($sql);
		$i++;
	}*/
	$sql = "select * from user order by age";
	$result = $mysqli->query($sql);
	echo "<table>";
	while($row = $result->fetch_assoc()){
		if($row['age']>30){
			echo "<tr class='bg_red'>";
		}else{
			echo "<tr>";
		}
		echo "<td>姓名:".$row['uname']."</td><td>\t年龄:".$row['age']."</td>";
		echo "</tr>";
		
	}
	echo "</table>";
?>

结果:
姓名:qizhi1	 年龄:1
姓名:qizhi2	 年龄:2
……
姓名:qizhi98	 年龄:98
姓名:qizhi99	 年龄:99
姓名:qizhi100	 年龄:100


九九乘法表:
	$i = 1;
	while($i<=9){
		$j = 1;
		while($j<=$i){
			echo $j.'*'.$i.'='.$i*$j."\t";
			$j++;
		}
		echo "<br/>";
		$i++;
	}

结果:
1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*4=4	2*4=8	3*4=12	4*4=16	
1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81	

稍微修改一下就是这样:

1*1=1
1*2=22*2=4
1*3=32*3=63*3=9
1*4=42*4=83*4=124*4=16
1*5=52*5=103*5=154*5=205*5=25
1*6=62*6=123*6=184*6=245*6=306*6=36
1*7=72*7=143*7=214*7=285*7=356*7=427*7=49
1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64
1*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81

当然还有更多的东西可以尝试,不过由于时间原因,只能继续往下看了。

do...while

无论是否满足条件,都会先执行一次代码段。先执行后判断。
	do{
		代码段;
	}while(条件);

for循环:

一般来说for循环的结构:
	for(初始化;判断条件;递增){
		代码段;
	}

在一些特殊条件下,括号中的表达式可以省略(分号不能省略)。

break:

    用于退出循环体,可以指定退出几层循环。
	$i = $j = 1;
	while($i++<10){
		echo '$i='.$i;
		while($j++<5){
			echo '  $j='.$j;
			if($j==3) break 2; //表示退出两层循环
		}
		echo "<br/>";
	}

continue:

跳过本次循环。格式:
	continue 2;
表示跳出两层循环到循环结尾,继续下次循环(如果循环还没有结束的话)。

die 和 exit:

无论在脚本的那个位置,当解析器解析到exit或die语句时,脚本都立即终止。die是exit的别名,它们指向同一个函数。
当传递给exit和die函数的值为0时,意味着提前终止脚本的执行,通常使用exit()。
echo "1111";
exit(0);
echo "2222";  //不会执行,因为在exit已退出

当程序出错时,可以给它传递一个字符串,它会原样输出在系统终端上,通常使用die()。
$fp=fopen("./readme.txt","r") or die("不能打开该文件");

也可以直接使用exit语句和die语句直接退出脚本:
die;
exit;

goto语句:

PHP中也提供了goto语句。

以上均为个人理解,初学php,如果有不对的地方,欢迎大家指正!微笑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值