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

十天学会php之第二天

php的流程控制
, G8 W; m4 l6 P. T3 u9 B* |8 l. I' S& P( M# J
1if……else 循环有三种结构

& s8 h+ g- g' Z# M/ t+ X9 l第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下:
" V& |' P/ M% C7 Q) J
6 G% K0 v3 W! Z$ [1 r! y+ o" S% r% Jif (a) { statement } 7 |  f! Y; ?, y/ x! u
其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
/ X8 H& E3 l+ k- D1 q
范例:本例省略大括号。

# c8 T3 y9 D( p, J/ O# k+ t: @& Z0 ]* ^$ y) l
<?php
* s3 I4 a+ r. z1 tif ($a==1) echo "我爱
php" ;   Z' e8 }0 g# @) R, Y
?> & w6 w1 A  `2 a: [2 y( R2 }
# X; Z" Z* K4 C4 V# i8 h. n' v
这里特别注意的是,判断是否相等是==而不是=
" M' r& s1 o4 n. S+ x
范例:本例的执行部分有三行,不可省略大括号。

$ A* i6 ?- I6 F, p
1 c% j- [& d* V# v6 P<?php
' m; b! n. h/ U8 Y* o$ X# z) xif ($a==1) { 5 w/ I0 G8 `! {* D( T5 y
echo "我爱
php" ;
# Y$ ]+ c+ {$ v' P* gecho "<br>" ;
9 g- D' y; ^/ ?} . x8 G/ X6 ]" G4 h
?> 5 O8 w  O" n2 o, a# k* m! ]

( E4 a; P$ }& Z0 Z7 ]第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:

. X% ^9 u" S8 X( s# k+ B
: g% r6 g8 x/ ]8 ^if (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
) h4 R5 C' t$ w
<?php ! O& w& f$ T! ^6 r2 u( {
if ($a==1) {
" c4 l& u! \$ Z8 Pecho "我爱
php1"; * `3 E8 W0 {$ _/ H
echo "<br>";2 A( g" A+ c8 W% n- d
} ( J% i: b, ^# @8 g2 U
else {
. O) H0 S  l; b5 X" b  ?echo "我爱
php2";
( Y: V7 T* ^4 lecho "<br>";
  N8 V) h6 Y3 N  A}
6 {( i6 i& c  J# s?> $ @+ I- p0 }3 q" F1 S  O; [
$ @# A* \* w; M' G- R
第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。

/ l8 I8 P  g* U& i# }; a直接看下面的例子

2 a9 R0 x/ u5 P6 `. H! [<?php
' Y$ V  {; T1 t2 Nif ( $a > $b ) { : K* O+ N1 H! T: I* C
echo "a b
" ;
( K% I4 x4 E) i  I0 m4 u( S} elseif ( $a == $b ) {
  y0 E0 S8 f# o# o" a/ k' E7 |echo "a 等于
b" ; $ X: a0 g/ r8 `
} else { & f" K1 X$ i! [* J& R, Y
echo "a b
" ;
1 U7 }! i7 {9 }. U  W  i}
+ K* [0 {' V  m0 p?>
! t: K# C& X' I3 R: R  z& y
  B' [, I6 k, Z$ H; n2for循环就单纯只有一种,没有变化,它的语法如下

! {# T7 T2 ^# @9 b, q
, P- F. z( @  F' w  ~% }, }) s2 Vfor (a; b; c) { statement } / v2 H# J6 L7 K6 s+ l9 F# J
其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

% ^2 _6 o: A( P$ J7 @% Y下例是用 for 循环写的的例子。
$ R$ q9 I; u% g
<?php 1 h  M0 j1 I8 s  m2 d
for ( $i = 1 ; $i <= 10 ; $i++ ) {
- m  M( D! S% I, {echo "这是第".$i."次循环
<br>" ; 4 \+ D' k2 @; b
}
" ?2 ?% k0 U2 _( n- J  [. g" N?>
' {0 x% l: i6 }& d! X
2 r5 `. ^# r# M3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。
. G. \6 C: a3 }. j9 e7 B+ T
语法如下:8 C; A- S8 b6 T6 l0 {. u; Z. D0 M
switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; }
- B% V, K3 r6 j/ J9 w& M& I
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。 : S/ q8 k0 V) a, k) i  V, K# L3 Q
9 u) z6 u$ ^! ~! o9 U
<?php 0 C/ {8 @0 T1 j( f/ Q% b- ~
switch ( date ( "D" )) { 5 K+ M4 g  I8 v$ G
case "Mon" :
2 Q3 }8 v: P6 H6 o$ W1 q+ Recho "今天星期一
" ;
% \3 r  I' v3 P6 c/ H% ibreak;
9 R& S+ f1 ?! Z; l, F) ~case "Tue" :
: w& s- p2 F9 Zecho "今天星期二
" ; 8 i0 j) w, i; T
break;
2 U+ D+ Z/ r# d% j' a) }( ^case "Wed" :
4 X& I" V0 O' x, ^9 aecho "今天星期三
" ;
/ w/ w: d1 o) o& Nbreak;
. k* R  v! E+ Z& p" u, ^  ]/ x. Pcase "Thu" : 7 a; j5 O* x4 I0 v7 p
echo "今天星期四
" ;
/ e1 E2 V% r8 o& n# j4 E% @. ubreak; % [& f* T0 Y' J- i
case "Fri" : % }, ^, Z5 \: E4 P8 J' }
echo "今天星期五
" ; " L% r& Z  }" Q! t7 G8 ^: F
break;
9 ?% E' f; h, m3 Fdefault: 7 c) e0 L) Q, n8 ^
echo "今天放假
" ; + u' f/ w! ?7 z0 u9 Z3 f
break; " B1 b! D: D. u/ U2 U
} 5 n- M  G& y5 F" r# n: i
?>
( _. E* e1 b% S8 V" y这里需要注意的是break;别遗漏了,default,省略是可以的。
# E# s1 s+ z3 P8 L7 N( U
很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。
) E5 g$ t6 B4 d
十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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