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

十天学会php之第二天

php的流程控制 4 z& N+ o' r4 y, F, Y9 j) z" O$ ~

) J  A- ?5 L! W: P0 `& \1if……else 循环有三种结构

& ]: ]# ]  `% ]% f& x1 J. i' Y第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: / f/ Y$ j8 B  k" ~6 g
" {  {2 Q% d& @6 W2 R
if (a) { statement } 9 P' E; j9 M, b" c8 m
其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
: Q, J8 Q7 D/ g- Y$ f
范例:本例省略大括号。

" k4 p  i" Y  F7 h# h  E
6 s4 a  n4 T$ ^  Y  _, Z! ?<?php
: v, Q" K* j5 ?: ]) O$ uif ($a==1) echo "我爱
php" ; 6 j- p" z5 G% N) {. p
?> / A8 R. w2 X; w# Z' U; S

4 z/ {9 B& @3 G9 h! S+ J' K& O这里特别注意的是,判断是否相等是==而不是=
7 M* P" l7 \6 ]: m2 S
范例:本例的执行部分有三行,不可省略大括号。
& T, D2 v' |2 T1 m3 p

# B1 J& l& z5 G9 R<?php 6 W9 F7 w: i5 _* e
if ($a==1) { / |2 m  J. c' w" g" r5 b1 Y% f
echo "我爱
php" ;
$ P; v3 B1 g1 u/ d+ G" h/ g# uecho "<br>" ; * S0 B- c/ a+ m# T- L" \0 l+ y
} " W( q* q7 r; |  N: e
?>
5 M- E) w. ?+ ?
& Y% A% X( z8 @9 q0 H9 h第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
" p# o! u$ n; k

! j7 i$ V3 ]9 N* @, Bif (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
5 G( q5 y; c- e" V* v) ?
<?php
$ E; D' _6 t7 |- t- j' Q0 k9 Z( lif ($a==1) { % l! q6 R" @' }! W4 Z
echo "我爱
php1";
2 F7 v+ n- ^- G, n- l5 k/ g! B! qecho "<br>";4 a2 O- T: @$ a: k# W
}
' j  X$ {- j9 Y1 ^. ^# X& eelse {
0 C, J$ i+ l0 Y' J9 j4 G% L+ Yecho "我爱
php2";
& t2 m. h) u  g) C6 c$ Z$ _6 cecho "<br>"; 6 M: g$ w/ \3 ^( D7 f1 ^. h
}
0 X7 s8 I4 I. Z?>
$ i+ X+ c. a: T. l: W4 o  b3 _7 B7 {$ q- p+ M
第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。
" T+ s7 P  |/ S8 ?$ @8 X
直接看下面的例子

) [% }' w1 ?" f; T7 x. v<?php
! ?, i7 r& M" qif ( $a > $b ) { % d; Z# ~9 U9 G; f- ]
echo "a b
" ;
. b: c9 o! t6 H& }( ~+ V} elseif ( $a == $b ) {
) N: Q" ~8 P9 v4 Recho "a 等于
b" ;
# ^0 m& v7 V& N; O5 d  I} else { & R2 L$ ^3 }, @! g! s  ?
echo "a b
" ; $ y$ `  Q5 @4 q- z6 `1 Q
} " \4 ?% ]) q# Q- V5 o9 Q2 K$ t
?>
9 H& _3 `! X- v$ @  r3 L" ^8 b8 a# m4 |
2for循环就单纯只有一种,没有变化,它的语法如下

" ?7 [3 [% F; C/ u) m$ x9 R' e, C
for (a; b; c) { statement } 1 H* s0 i: z% H# Z2 W' ~- y
其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
) T: `2 [( \8 P1 g. Z* V
下例是用 for 循环写的的例子。

! c: T2 H  n- K<?php # ~: _* g# w+ J; R/ f! }
for ( $i = 1 ; $i <= 10 ; $i++ ) {
6 C, f3 T. ]. A' x. C' Xecho "这是第".$i."次循环
<br>" ;
: @) y: _* C- `) I! t} 6 r6 E% f& M, E3 M) ?9 Y% [
?> & `, q6 E) b8 W) a5 A& ]5 x
2 _, o  P: N1 x' k' n
3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。

- R6 M/ Z# D5 n语法如下:
1 m0 b  o9 U8 {/ m* D5 M' ~9 E0 bswitch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; }
) i0 Y7 d. I* v; A6 c
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。
3 v- W  ?9 X$ q0 {. g' G
5 y5 G. s3 ?: M$ ~<?php 3 @7 \- H; ]: [( j9 Y+ r
switch ( date ( "D" )) {
5 Q3 A9 [8 N8 o: s& a+ jcase "Mon" :
2 f9 R8 V& j# ^) o4 U# e3 s2 E! cecho "今天星期一
" ;
+ I/ B" A. ?4 t& ?* O# O3 fbreak;
7 e5 P# d; y# _% `) p! s: i) @case "Tue" : 3 |5 Q+ Q0 Q, Z
echo "今天星期二
" ;
' y1 E& b" |6 i1 P; d  }break;
# [, N; K! y$ e6 Bcase "Wed" :
0 `( D2 A& r* Aecho "今天星期三
" ; # H% @# r, v1 J& u
break; 1 c0 Z  H% c9 ~* h' k
case "Thu" : + ~# @1 q9 Y! L8 R- n3 {7 s
echo "今天星期四
" ; ( L; K) q' F  t: C
break; ' T. w! k) z9 u6 `: f; ^9 b
case "Fri" : 5 _$ q& v, H" j5 i
echo "今天星期五
" ;
5 M6 ?2 S% O# U  m2 M  Tbreak; 7 D  h1 y; u7 f
default:
. r7 X- r0 z) ~3 ?echo "今天放假
" ; ! S# ]9 r8 q; s
break; - o8 I! t6 O$ l" o+ Q
}
: W0 q' g9 O0 y5 m1 ]% O$ g?> # T: w& ?& {+ R3 X
这里需要注意的是break;别遗漏了,default,省略是可以的。

- X6 G" E0 P& ?, @* b0 b0 k# m" }! l很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。
4 K3 O1 R5 u6 {4 [6 N9 e
十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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