php的流程控制 8 z# s! r; B2 a: z, |. Q
1、if……else 循环有三种结构! d) Y' U3 Z3 `6 x# V+ s, r
第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: ; E7 q5 V/ ]( w9 z/ D
) l( s6 p6 T3 c3 K1 p/ C* v8 ^/ P& I
if (a) { statement }
其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。
范例:本例省略大括号。
9 U( `9 L& F' h4 ]9 y! h
<?php
if ($a==1) echo "我爱php" ; % }# i4 m& k( C$ y7 j3 u
?> 3 a2 M* C' x3 }
这里特别注意的是,判断是否相等是==而不是=。
范例:本例的执行部分有三行,不可省略大括号。
<?php
if ($a==1) {
echo "我爱php" ;
echo "<br>" ; ) W) u. K, Q- v ~
} ' ~3 W4 s+ t' j4 @5 {! s% u
?> 1 Q1 V" D1 ?4 \ G; p
第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下: ) X; ~ B/ f: U# l0 s
, L2 V( p' w- @2 B/ c4 O4 a; `' x
if (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。 % ?+ d9 R$ b- Z6 R, _& r
<?php / L9 F5 b4 \; V. g7 X# M
if ($a==1) { . z+ i# b9 r3 c* A; S7 ?1 ~
echo "我爱php1"; % k) {2 X$ I9 f
echo "<br>";. f9 ?6 g/ |% F1 v% X
} ( L+ t% _+ y) r) `/ H. X. X
else {" p+ ^ L) D u# s* s8 a
echo "我爱php2";& p- X8 _+ @' k0 h: F0 ]1 `1 k1 Q2 n5 \
echo "<br>"; . Z9 s# T. w! K# P- u7 O8 J4 @/ t
}
?>
~, m4 H. e9 o# U& Q5 P% j& ^6 V
第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。
直接看下面的例子 ( S) I7 @) {( y
<?php
if ( $a > $b ) { 5 S9 i8 R- y* m o
echo "a 比 b 大" ;
} elseif ( $a == $b ) { 8 d# E. G# S/ f$ N: i. l6 }
echo "a 等于 b" ;
} else {
echo "a 比 b 小" ;
} ; t) R" p1 `2 M) d( d. E0 G
?>
2、for循环就单纯只有一种,没有变化,它的语法如下 * j2 i+ b! b, w/ v8 d, C& \0 m
# E& U8 b& p! t% A: H' W
for (a; b; c) { statement }
其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。* c. b" u4 r6 V: E' h8 r8 e
下例是用 for 循环写的的例子。
<?php - @/ `: N4 X! S# j; m
for ( $i = 1 ; $i <= 10 ; $i++ ) {
echo "这是第".$i."次循环<br>" ;
} 1 ]0 {! |7 u* x
?>
) x9 A4 \! I9 B7 L4 [9 d
3、switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。" P9 j! Z' {" s) p! r5 O
语法如下:
switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; }
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。 * _+ b$ p/ l7 b
<?php # p: d- Y$ J$ H5 ?; ?
switch ( date ( "D" )) {
case "Mon" :
echo "今天星期一" ; 8 @8 r) P. Y5 \5 ~: o
break;
case "Tue" :
echo "今天星期二" ;
break; 2 j3 G- k) X: }+ I0 B
case "Wed" : / Q9 M( x( N8 @# j) V
echo "今天星期三" ; , V+ u1 G6 @8 N$ o$ w4 H
break; 9 y# T; P9 b# K3 X
case "Thu" : 7 b7 l# {& E5 e' W; K% W" C
echo "今天星期四" ; 3 b+ t. J) P2 f/ B* L, h. P5 ~ q0 Q) C
break; 7 n7 W6 Q& ^* g6 X/ Z2 f
case "Fri" : 9 g0 X3 h% {* |6 [2 h7 @ W4 ^' C
echo "今天星期五" ; % Y) ^6 j: Q/ x( D5 s2 {1 [9 X8 R
break;
default:
echo "今天放假" ; + z; [. v$ }; `- P# H6 x; M! r* m
break; 8 ~8 C) N! ]; q6 s" j
}
?>
这里需要注意的是break;别遗漏了,default,省略是可以的。
很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。
十天学会php之第二天就说到这里,第三天开始说数据库的使用。
欢迎光临 捌玖网络工作室 (http://89w.org/) | Powered by Discuz! 7.2 |