
php的流程控制
1 M, |( A& r+ U8 S! g
1、if……else 循环有三种结构
第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: # [9 ` M- E. h+ F* R2 T
C+ @% x6 i* c) Z
if (a) { statement } 0 L' ~+ Z; O3 Z! [& m) E! w8 o
其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。
范例:本例省略大括号。
$ L8 }+ y5 v' E* R- z
<?php
if ($a==1) echo "我爱php" ; 5 q' q5 h R8 h# p1 c+ K; _
?>
% r3 E, d2 r7 y* U7 x' D) Q
这里特别注意的是,判断是否相等是==而不是=。
范例:本例的执行部分有三行,不可省略大括号。 4 _8 a/ m( B; }
) C) Z9 t/ m9 Q' K6 X- Q1 o" {+ r
<?php & J* o3 ]# ~3 I o' B
if ($a==1) {
echo "我爱php" ;
echo "<br>" ; , @/ o4 d' t+ b
} , {8 ]" \' \! b* m8 O4 r h1 B
?> 9 ~' @1 @+ P9 l h( o' `
第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下: ( a3 |2 j( l' n& W1 d
1 M' H$ m q, I7 }
if (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。 8 u: w# }! f+ ]# d! i5 p) e
<?php 4 H2 _0 L8 F# R, R" B5 S
if ($a==1) { 6 R7 g& d6 J+ v) ~
echo "我爱php1"; 0 L/ D7 U7 V0 Q7 n3 w. w* k
echo "<br>";" P( T" }9 u" w0 n
}
else {$ s$ w1 Q% O2 P. Q3 W1 F, ]
echo "我爱php2";9 l8 J2 A J) w' v8 s
echo "<br>"; : i1 {# Q+ t( F9 G3 w+ T% q
}
?> ' g* V9 e/ {* x9 S
9 |0 `$ r y4 |) ?+ A0 a9 i Z
第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。( S1 p) C: U# k' x. ^
直接看下面的例子
<?php # \8 b6 p+ e! Q& f* a
if ( $a > $b ) { : L3 R* P K: ?1 l9 i. ~7 W9 i
echo "a 比 b 大" ; / H' Q2 l8 z* ?; q
} elseif ( $a == $b ) {
echo "a 等于 b" ; 6 ]8 [" Q9 A; u8 U* o; x
} else {
echo "a 比 b 小" ; + F1 T N3 s0 I& u
} 1 s' H6 Z: U3 i
?>
2、for循环就单纯只有一种,没有变化,它的语法如下 $ `7 j$ c1 l5 d8 o' U
for (a; b; c) { statement } 8 t0 K9 O3 u' \/ w1 b; A; @- X7 m
其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。
下例是用 for 循环写的的例子。 : S P& G1 X. S2 k
<?php
for ( $i = 1 ; $i <= 10 ; $i++ ) {
echo "这是第".$i."次循环<br>" ; 2 `( x( B0 O) p4 X! w: N- V
} # m( W9 l+ ^% ^& w: r
?>
3、switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。
语法如下:. O) G" n7 e) ~" G' K
switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; }
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。
# Z6 H `+ }' c! M. l% l
<?php ! }+ U9 o* Q+ n3 S0 e
switch ( date ( "D" )) {
case "Mon" :
echo "今天星期一" ; ! l' T" @2 v: b+ K3 E8 ]
break; - t0 v4 l4 n% e; T& ^: m8 X
case "Tue" : % R( d/ j( K2 H' M4 @9 W
echo "今天星期二" ;
break; ! B! T8 Z) I# e, \8 ^; Z
case "Wed" :
echo "今天星期三" ;
break;
case "Thu" : ( D- f7 Y" x4 P! A8 H5 x- |
echo "今天星期四" ;
break; 1 g2 Q5 R0 o9 j( Q5 D. F! B- U
case "Fri" :
echo "今天星期五" ;
break; 2 D3 Y+ b/ s* X9 T' V! e7 E
default: 1 J+ F7 \: o3 M p: L
echo "今天放假" ; . P5 \9 d, l! z$ K
break;
} 8 l3 K- Z1 X f, g
?>
这里需要注意的是break;别遗漏了,default,省略是可以的。
很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。7 u$ M, b7 n3 R9 a# f; H2 a6 T
十天学会php之第二天就说到这里,第三天开始说数据库的使用。
| 欢迎光临 捌玖网络工作室 (http://89w.org/) | Powered by Discuz! 7.2 |