php的流程控制 7 G& `+ n; b& S' V' j4 P
9 n5 D: h- ^, k x* i. x- _# e9 [
1、if……else 循环有三种结构; e( \2 V& ~! {1 g, y
第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: : h' v3 @, \( t. t* H! @
3 T ?7 _, K' O
if (a) { statement }
其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。
范例:本例省略大括号。
9 _9 v7 j* s( _+ S- a8 b
<?php
if ($a==1) echo "我爱php" ;
?> + N- }5 k& `5 P8 T
8 w" N% ?: X g: E9 {" [( a b$ B
这里特别注意的是,判断是否相等是==而不是=。
范例:本例的执行部分有三行,不可省略大括号。 - C! M3 o( Y2 i3 o0 x! h1 N; u
<?php 0 y! n5 B# H. N" Y
if ($a==1) { ' c( ]4 k! U q! s4 r9 W
echo "我爱php" ;
echo "<br>" ; 3 I {: U @: X# B1 D
}
?> 1 B- p8 _+ \/ i
第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
if (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
<?php
if ($a==1) { " A) W$ Z% J! g* w) s( @8 O
echo "我爱php1"; 7 J* x/ l. l. u6 z/ J+ Z8 J) Z
echo "<br>";
} 6 J! Q. y2 I9 z7 k! `6 O
else {
echo "我爱php2";
echo "<br>";
}
?>
3 u8 ~* \8 ~" A5 J0 V1 a9 Z
第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。
直接看下面的例子
<?php ' Q' \) }- [" M5 I& ]" K1 ^+ j7 I6 V
if ( $a > $b ) { ; n- N1 c5 n0 r- h& l! {
echo "a 比 b 大" ; 4 l# q1 z6 M- m* Q; Y: S
} elseif ( $a == $b ) { + G+ S) G. ?% b% a
echo "a 等于 b" ;
} else { & x4 n, i: u o! [
echo "a 比 b 小" ; 0 R$ S- v0 w( I3 A" n
}
?>
2、for循环就单纯只有一种,没有变化,它的语法如下 $ J x& @- @8 }; k p6 T7 F
for (a; b; c) { statement }
其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。. P9 b+ u' P; e. W
下例是用 for 循环写的的例子。 4 |2 c0 K4 F( U! U! F5 \
<?php : @8 j4 U: i; f4 x/ p2 M
for ( $i = 1 ; $i <= 10 ; $i++ ) { ) ]1 E: s2 L2 |3 ~0 z
echo "这是第".$i."次循环<br>" ;
} * q1 J# p8 q. v6 G' X
?> ; q! M1 [0 ~9 q2 [6 S( a* p4 Z+ E( _! w
3、switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。; l: E! s- z y& @6 @- j7 l
语法如下:: X+ n; h2 q/ j
switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; }
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。 , }& ]$ z4 V- S) r4 E4 N6 R9 j
<?php
switch ( date ( "D" )) { 0 g, ~& r0 B' C" V- A& _9 P
case "Mon" : + a+ J+ b/ [0 ?# s& }5 {' H. Q
echo "今天星期一" ;
break; , s1 s, m7 A2 b( D1 V- `4 F
case "Tue" :
echo "今天星期二" ;
break;
case "Wed" :
echo "今天星期三" ;
break;
case "Thu" : : {$ }; T: _) m& {9 v/ F/ ^/ O
echo "今天星期四" ;
break;
case "Fri" : : ?. r3 h9 g& Q; t9 C0 u
echo "今天星期五" ;
break;
default:
echo "今天放假" ; + U6 s& l6 v/ j
break; 4 F9 o4 c7 z; p- [* B b6 O. O x* ^
} & ?! R; W3 _9 R* O; d
?> 5 u% _# ?# u( |3 p
这里需要注意的是break;别遗漏了,default,省略是可以的。: C: G& z7 D3 n3 e8 j% Q
很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。0 [2 X& ]: {2 I T) w& m/ M# e, j/ R
十天学会php之第二天就说到这里,第三天开始说数据库的使用。
欢迎光临 捌玖网络工作室 (http://www.89w.org/) | Powered by Discuz! 7.2 |