
php的流程控制 ( l% D; f* `) b! j/ \+ Z
1、if……else 循环有三种结构9 }5 e0 D4 ]. ~8 J7 d
第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下:
if (a) { statement } 0 f, C! X x+ {. ~
其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。# z" h- o, ` m: y0 {
范例:本例省略大括号。 " A% f* O$ H* I1 G
<?php 9 v6 y- I8 R! K7 |# ^3 C
if ($a==1) echo "我爱php" ;
?>
, W* n/ w6 r) N" w! W
这里特别注意的是,判断是否相等是==而不是=。7 c2 @, t0 n/ ?9 J
范例:本例的执行部分有三行,不可省略大括号。
<?php 2 R) @6 J, k) z) ~' Y! R
if ($a==1) {
echo "我爱php" ;
echo "<br>" ;
}
?>
第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
( Q5 M; @0 k% B4 y. \; \; [2 J
if (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
<?php 5 ^8 c% L. U& O+ q; T& ^+ P5 [
if ($a==1) { 5 k% y! Y" w2 K" v2 R. T
echo "我爱php1"; $ o5 E$ t% K+ A/ [- y2 t
echo "<br>";7 v E! I7 V' z4 J! I: U
}
else {
echo "我爱php2"; Q/ R G4 @5 _2 O
echo "<br>"; ' E% m# _5 ~2 i/ M3 n
}
?>
第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。
直接看下面的例子
<?php
if ( $a > $b ) {
echo "a 比 b 大" ; ) G8 q- V+ _* O; g2 T! U
} elseif ( $a == $b ) {
echo "a 等于 b" ; : M1 Z* p/ U! W2 z' S( b8 P3 T
} else {
echo "a 比 b 小" ;
}
?> # V) e% m$ V+ l+ q2 E
2、for循环就单纯只有一种,没有变化,它的语法如下
for (a; b; c) { statement }
其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。
下例是用 for 循环写的的例子。 - A; W+ w) M5 ~; L; t) ?! K
<?php
for ( $i = 1 ; $i <= 10 ; $i++ ) { ( U$ c8 ^2 Z! P* e
echo "这是第".$i."次循环<br>" ;
} & Q+ |" `; |' A- w2 r0 G
?>
3、switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。; ~3 Q) @( ^. [+ n' B) P
语法如下:0 v9 P5 |* R& U5 a
switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; } 7 k* R6 R: {! K2 Y$ z8 q
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。
<?php J. r0 Q: v- D) V u
switch ( date ( "D" )) { , y% f* d& ]' P; E3 z5 d
case "Mon" :
echo "今天星期一" ;
break;
case "Tue" :
echo "今天星期二" ; + g) o2 H$ P0 ?+ b9 E; t. ]
break;
case "Wed" : % S1 I& z4 }2 v6 J
echo "今天星期三" ; 9 ?1 }3 e* S! b3 ?. S2 ^0 l8 J
break; ' X, J- N4 I+ p c
case "Thu" : k q) F! ?8 s+ J: p, ]
echo "今天星期四" ;
break; $ I I& p6 e2 S' t: t2 n
case "Fri" : 0 ]9 k! a: A4 D' P
echo "今天星期五" ; 8 C4 ]8 S4 v7 ]5 b
break;
default:
echo "今天放假" ;
break; " C6 f4 ^* K7 M3 k6 B' h
}
?>
这里需要注意的是break;别遗漏了,default,省略是可以的。
很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。
十天学会php之第二天就说到这里,第三天开始说数据库的使用。
| 欢迎光临 捌玖网络工作室 (http://89w.org/) | Powered by Discuz! 7.2 |