php的流程控制 5 G* K* o* v8 v, y d' `
1、if……else 循环有三种结构
第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下:
+ ~2 |8 R% ?5 Y) |* |" O0 v0 F
if (a) { statement }
其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。
范例:本例省略大括号。 $ E# S/ D+ Y$ j, n& G' L$ n0 `
$ Z) u: c: x8 l* n; B
<?php
if ($a==1) echo "我爱php" ; % g! y, u. X" f- Z$ F4 ^. ^# M7 J. f
?> # L0 T; r" W' x# F' b0 j6 K
: B: h9 k/ @/ G6 p9 ^
这里特别注意的是,判断是否相等是==而不是=。
范例:本例的执行部分有三行,不可省略大括号。
<?php
if ($a==1) { / A4 B( j: I0 l! c
echo "我爱php" ; * ?* z2 @# |. t: D$ n
echo "<br>" ;
}
?>
j4 t: ~" |& U& m. E& H
第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
if (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
<?php
if ($a==1) {
echo "我爱php1";
echo "<br>";
} ' l2 M' w4 M5 H3 U8 p, Q3 _( x2 U; w
else {
echo "我爱php2";# E; W4 x0 \' C8 G4 E' x
echo "<br>";
}
?>
第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。
直接看下面的例子
<?php 6 P! K/ @ E& D6 r; k
if ( $a > $b ) { ; P' E& Q9 w4 D: g, e
echo "a 比 b 大" ; 3 L5 {3 Y2 ^* L$ S a
} elseif ( $a == $b ) { - J+ Z- }' n" `
echo "a 等于 b" ; * _% j4 ~" _7 `4 B
} else {
echo "a 比 b 小" ;
}
?>
2、for循环就单纯只有一种,没有变化,它的语法如下 7 _: q- C* Y5 p
for (a; b; c) { statement }
其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。
下例是用 for 循环写的的例子。
<?php ! x5 N7 t, J, z+ B! i
for ( $i = 1 ; $i <= 10 ; $i++ ) { 6 j$ y$ H7 I' i# w6 M
echo "这是第".$i."次循环<br>" ; ) Y1 W1 x2 N% N3 a6 n
}
?> ! Y' X5 W1 N) S
3、switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。! R& a5 P! P. ?: o7 z
语法如下:
switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; } 0 n# @6 ]' t1 u- f$ v# P( B
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。
0 \$ F+ r- {, `: v, I( L: B% X/ `
<?php & k" z" e6 e5 o6 D8 H
switch ( date ( "D" )) { 7 T" \9 n9 a1 ]; \. y- E+ x
case "Mon" : + b! ?, @. p& ?* Q
echo "今天星期一" ;
break;
case "Tue" :
echo "今天星期二" ; , C) P: L' F5 \0 h
break;
case "Wed" :
echo "今天星期三" ;
break; # x# V* i9 j- r" e
case "Thu" : 9 A# K: `6 Y7 v( I1 {; G# R
echo "今天星期四" ;
break;
case "Fri" :
echo "今天星期五" ; + J) [9 w+ l. h. }! V
break;
default:
echo "今天放假" ;
break; 6 l' }8 O/ a( C1 M
} ) [' Z6 Q( w; U- {/ d- y s
?> : t$ j* A5 D/ N1 Q% u
这里需要注意的是break;别遗漏了,default,省略是可以的。
很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。8 Q: [8 z& M% K) K' I
十天学会php之第二天就说到这里,第三天开始说数据库的使用。
欢迎光临 捌玖网络工作室 (http://www.89w.org/) | Powered by Discuz! 7.2 |