获得本站免费赞助空间请点这里
返回列表 发帖

十天学会php之第二天

php的流程控制 6 S0 ~+ o6 c! e8 b5 x7 r1 E
8 y0 _/ l! f/ H- j' o! K
1if……else 循环有三种结构

# _# D1 r  w( P- ^6 u第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下:
; q# ?2 k1 V# g+ a1 U. ^
" l" }! o( N9 v* x3 w9 pif (a) { statement }
4 \; y7 Z! G- t4 k+ D- J" T其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
6 h* ^4 L* J( D& F6 m' @9 ^  s7 P
范例:本例省略大括号。

+ _% }, ]: e5 F2 ~  r% O1 w+ c3 N3 |* ~
<?php
5 j7 _7 }- j! J7 Q5 g& e& t6 [1 Vif ($a==1) echo "我爱
php" ;   S$ w- E8 y2 ]- A; C
?>
) E" T2 ?- W+ N( h: A  V
# O: b' B( G' y0 I这里特别注意的是,判断是否相等是==而不是=
, {" F3 V" P/ p5 e( [1 V  }  S. G+ S
范例:本例的执行部分有三行,不可省略大括号。
# o, G+ N$ v/ T+ I  w% P& i: V0 e

7 f' c/ q, E1 b& y) Y4 I<?php & d0 ?+ i# F. c% l, P+ R- t( d
if ($a==1) {
, U( [# n/ A5 \. aecho "我爱
php" ;
" s; Y/ B( p0 @# o% k- y1 Jecho "<br>" ; 6 A  j' Q4 [: F! H
}
" i# N' ]/ f+ q  I- X# T?>
5 Z( m2 W* R  F# K( u9 `2 T5 A: l; F6 E0 ^3 `9 s
第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:

1 \9 r- h% f, g8 o8 V8 z% i- Q$ L6 O1 T6 C; P, ?0 Q
if (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。

- u7 q& G8 S; Z4 o6 s+ B<?php
1 ]( D% P' l7 d9 o; `if ($a==1) {
: n8 O6 }8 {! Eecho "我爱
php1";
- N1 w/ d  B; d- C3 |echo "<br>";
2 Q' H* Y7 E% O. I9 z} 5 N, v7 A5 D. J+ w: [% w& f* ~$ C
else {; G3 w9 \0 O; t4 {# c% N3 P2 Q
echo "我爱
php2";3 d/ w8 r, W( W! ~
echo "<br>"; ( i- r4 N( o4 t  ^9 I  I
}
: H( X: p9 `) s7 ?- a?>
0 K& V7 x8 h  W
- U5 L& M' u" A0 D4 S3 M第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。
5 Z* ]: T1 H3 g3 s" u, n+ r9 L& A
直接看下面的例子

8 \0 R4 {8 Y5 k2 u<?php 8 k, O* s7 h' A; n# y( T9 Q
if ( $a > $b ) { 0 N' z! L7 _# Z1 ~+ Q& ?
echo "a b
" ;
9 Y% W* D  K% V} elseif ( $a == $b ) {
- o" S3 M, u. M: B1 i1 @echo "a 等于
b" ; ! s. Z; }/ b7 l4 ^' h3 u4 ~1 B
} else { 3 v0 o* r, B8 L& }
echo "a b
" ;
2 m) @. u2 \9 h9 C  N/ T+ z} + {" n$ D; O2 J% i
?> 1 U# d" T7 A" _  _# d
" R  J2 A! i2 F; n
2for循环就单纯只有一种,没有变化,它的语法如下
& a$ |2 q. r& k, ~
8 e3 X/ ^$ ]& ?# q8 E5 t
for (a; b; c) { statement } 4 e* G1 N+ Z3 M( Q8 Y* Z
其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
+ m3 @2 v" s- `0 U
下例是用 for 循环写的的例子。

/ F+ j, f2 ?& B. t: u* O% m* D9 \7 c<?php
7 F0 j2 N: L6 h; e0 |for ( $i = 1 ; $i <= 10 ; $i++ ) {
: [+ R6 m# Y  v0 K3 b* Xecho "这是第".$i."次循环
<br>" ;
) V* @( ]: m# E4 \}
  A* O9 E+ U# ]  k?>
0 U: D" L- y4 M! q, @1 w0 @( t3 c; |# J( ?# `8 r# `
3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。
3 p" P$ D4 t2 W  b5 t1 C5 G
语法如下:# Y, u" I/ p6 C2 m1 v7 v* F: G
switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; } ( M( `- Y/ N& O
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。   e+ M4 n# Y0 ]& ]; |4 e6 p

8 K( \1 G$ Q/ j6 e1 I4 T5 z<?php ; G# P; {$ N5 \4 o4 K! I
switch ( date ( "D" )) {
. D0 P  |; _8 d& C0 d7 ?* O# Ecase "Mon" : 8 J! k" K( M3 p: m  O
echo "今天星期一
" ; 8 i' m% f5 b0 t
break; 3 W0 Q# N( u" s
case "Tue" : 5 m9 \% f& `( U
echo "今天星期二
" ; 7 r; i8 b6 v" w0 e
break; 5 ?, |3 f9 X- Q/ D+ Y9 P
case "Wed" : 9 Z" Z8 a8 }7 m& Y6 n1 G( n
echo "今天星期三
" ;
; P* V6 |5 q. q0 I9 d- e. T) @* rbreak; 2 D# Y& R5 {2 Z" \& x9 G8 @
case "Thu" :
/ C- B( G/ G% o$ O6 x6 O: [echo "今天星期四
" ;
8 C% Q7 l, D4 k4 E+ `break; 1 `/ E& d6 d: ^6 Y' v  L6 l
case "Fri" : ' Q; a) B; |! _1 v
echo "今天星期五
" ; 0 O9 J$ O3 g$ I9 \
break; 4 @3 t5 t3 T" v3 u7 Q
default:
3 {0 K: ?2 ?& Y% Eecho "今天放假
" ;
/ _- M4 x0 {2 t# m0 Sbreak; & \  Q; X' p7 ~* R( C! Y
} & Z2 G* n0 f/ y' V7 i
?> . p& _0 c" e  p+ D! y) b
这里需要注意的是break;别遗漏了,default,省略是可以的。

! `" b; M6 W: {) }* G% e6 D4 W很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

$ V. `) }$ q- R十天学会php之第二天就说到这里,第三天开始说数据库的使用。

返回列表
【捌玖网络】已经运行: