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

十天学会php之第二天

php的流程控制
/ o7 T2 x! ]  z; X5 y/ ]' c
( F8 e& E2 N) d0 R$ Y4 p! r1if……else 循环有三种结构
6 _- C2 r1 y! O+ c5 V' |. l
第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: 3 I, S+ @  p! I) Z2 t

$ i( b  F4 M8 v( O: K4 a/ I$ ~if (a) { statement } * n! P* ~4 i  z5 h* w4 o1 h
其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
1 l. o  w& k1 q$ ~* z$ l- [
范例:本例省略大括号。
% z, ]' r7 D# U, E" W
. L5 x0 Y0 ?  o8 c
<?php : g- l& L5 N  P, k, [5 N
if ($a==1) echo "我爱
php" ; 6 h; @* F9 n9 B/ g2 @$ s0 X; U0 X
?>
" j) ~0 V; |' ?8 Z+ g
' i3 @  m; \9 _这里特别注意的是,判断是否相等是==而不是=
: D4 w% M: A8 g5 }
范例:本例的执行部分有三行,不可省略大括号。

4 i0 M. ^& S  N6 E0 O1 Q8 q  ~
4 _4 Y, ]2 M+ A' m7 O, u<?php 9 S( c1 j7 q% Q9 [* ]
if ($a==1) {
9 q, D' m7 j4 s% R+ @* Eecho "我爱
php" ;
" W; m6 h' m( k# Z* K1 c$ u3 mecho "<br>" ;
/ z% M. V, o5 r}
5 s7 J; [+ ]2 |4 d$ ]?> 0 V1 T3 ^% e/ z

: Y) i6 g0 w$ t$ j第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
1 d& L7 x" W* G- Y% Q4 {4 |3 u
* f; N' |8 |% B! a- N* P3 M
if (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。

& }! t' y5 g- V3 W2 J# l3 N<?php 9 {; g: Q) K3 N; r
if ($a==1) {
1 I/ |" [9 M7 u9 i: a* Lecho "我爱
php1";
) q0 t/ `" P- J: G+ Cecho "<br>";
& }( x1 a3 X5 k, E" K- E+ z}
' G- [) l7 z1 H$ Z, Pelse {7 q" k0 r% ~! Z  h  p
echo "我爱
php2";
6 T4 l8 F4 H# J: _8 l- Mecho "<br>";
* z" K9 q' t5 h! W} & f0 R0 [4 T0 Z  j
?> ( v3 O/ c  o# O' K4 G7 h9 t
* n+ b3 x0 C7 }8 c+ d9 p/ I( C
第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。
% T6 {2 L6 o' }( \6 _7 f8 y
直接看下面的例子

! H1 s' B& j* Y* l$ R2 K+ _8 {<?php ; G8 v' h9 A) S6 q9 E' @
if ( $a > $b ) { 4 G2 R1 v! `, K6 X
echo "a b
" ;
" e5 D" b2 ]1 i; V. x( d) ~} elseif ( $a == $b ) { 4 `; B: u2 \3 Z7 ~( e
echo "a 等于
b" ;
/ u8 v- Z. E( ]9 [# T. v% ~4 ?6 G} else {
) X& ^1 Q! Y( q! H* L/ Zecho "a b
" ;
; z: M! J! n! ]' F6 r* H! x7 Z}
) D: r# Y2 F# v7 n- q?> 2 K( \* C' z+ }6 e7 }$ J

% d/ d5 k# y% n  Y2 N1 w2for循环就单纯只有一种,没有变化,它的语法如下

7 g) u2 K" O! s6 _( n9 I  S* S
* r( a6 l8 D+ F/ `" ]1 @/ qfor (a; b; c) { statement }
; @$ c# w* T2 C4 Y8 `/ R其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

- A3 Q4 U1 e( r, j+ `$ k下例是用 for 循环写的的例子。
, _3 t8 L9 i7 s; t/ k/ }# o9 U
<?php 4 [! e! U# X0 O* n
for ( $i = 1 ; $i <= 10 ; $i++ ) { 2 z6 O2 _+ K9 i8 R1 W
echo "这是第".$i."次循环
<br>" ;
' ^. A% a, S& ?4 Z} " a- s2 R. B4 M3 ]: V$ e" P+ F  ]5 B
?> 7 Z. J& [! b6 }& @$ U1 n9 V
0 t9 t. [1 o; o# |0 R$ F
3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。

% J; w: |) C1 ~- q语法如下:
/ \6 l1 m6 j- h0 W( b8 ?switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; }
* P7 m( T- ^/ y! N
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。
+ h: U8 G4 W" B9 T4 ~0 \) E
4 q3 P! X9 v/ V0 b8 d<?php 9 w# Y0 A, V# H* g
switch ( date ( "D" )) {
, Z+ u0 u' @7 A/ V9 c: Y: l/ vcase "Mon" :
! P( f4 c, ]% o+ {/ {  {" l6 ^echo "今天星期一
" ;
" x1 H7 }9 L- cbreak;
! p- B3 K- ^. a# ncase "Tue" :
4 s4 H/ h, z  n  {! Recho "今天星期二
" ; 4 @2 E+ M* Z, R
break; * {1 m$ t& Z) p+ M* r9 a
case "Wed" :
- T- o3 }& G0 wecho "今天星期三
" ; $ V: g  ]  [; K, d! @8 b: ?
break;   a, V2 u( E% v* T/ F4 F+ c$ T
case "Thu" :
: n7 \: k. T- g, Y( V9 zecho "今天星期四
" ;
$ y8 H" i; Y$ T) G6 b7 |) k' sbreak; 1 {% _/ P' ]3 b' ?: \
case "Fri" :
$ o' G5 |" T3 c* jecho "今天星期五
" ; ) e9 ]% E  p3 \& g; m% ]
break;
/ P3 S: U6 |7 N6 Zdefault:
* a8 I4 \, l8 Secho "今天放假
" ;
  ~' K3 T  W' n3 `% X( h! ~8 q- ~" hbreak; 5 {3 z4 W# |1 t! ?" I! K
} $ j0 C( A* x& l7 {; g1 l' p
?>
# h0 c; N+ z5 D这里需要注意的是break;别遗漏了,default,省略是可以的。

! K, _9 L, Y! M很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。
% A1 k6 D; K6 l6 D& M% k
十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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