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

十天学会php之第二天

php的流程控制 5 C! I* F; C8 T( b2 R

7 c+ F0 o6 w: Z& U& b% N1if……else 循环有三种结构
! R% M' c( Y3 l: T3 _0 T
第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: 6 n) Y2 a( L& K2 [# @

  F* G. W* s7 dif (a) { statement } 3 e; m  P. I4 |1 l
其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
6 \$ W  ?  _2 ~% B
范例:本例省略大括号。
3 B" X  \3 }3 v" M% i

+ r5 c3 F5 G, T<?php
) a+ K5 U4 O) `( ~7 }if ($a==1) echo "我爱
php" ; $ u* [- W% z1 x- y/ q5 H* w
?>
- M" m5 `2 x; k( l1 }& R
4 T- [, S! d) S- D. V4 ~. x这里特别注意的是,判断是否相等是==而不是=
, _: e$ F0 D; {; q" i
范例:本例的执行部分有三行,不可省略大括号。
9 l5 I/ z5 K: I' U4 [

% H& a2 X  q( [# k1 e% o<?php
8 q3 O: y: u8 _; E2 w1 R; O+ t2 @9 cif ($a==1) {
9 S. z" e, o- Y! K% s) E7 Xecho "我爱
php" ;
6 Z. H: K# G! w8 Jecho "<br>" ; ' r/ s* ]/ n5 e# Q: `( h. N
} ! q& A& b0 [6 X" ]) ^
?>
0 T% u* a# w( e" R: Y+ b
9 f9 m0 C" n* l& E+ j2 \9 e, i9 S$ y# \第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
! Q4 u  h9 @: S# x. Z0 ^
& c* F7 C- i- ?% X* u/ [
if (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。

' b4 l2 i; F$ {6 j% |<?php ) W6 g# G  U; d
if ($a==1) {
  ~1 `9 z8 H# c' B- Zecho "我爱
php1"; 8 Z9 O2 K4 [* \
echo "<br>";
: L8 _1 {, D8 H( }: U3 h}
- S1 v0 r2 g2 i# y0 r4 ~+ Z8 C- aelse {
: j7 e9 I3 t2 Y& E9 o: q* Y7 Recho "我爱
php2";
8 _/ f6 m4 v7 y; i( Recho "<br>"; * X. m* o% g4 S3 W# x
}
! V+ a" ?& u" [. d: U$ o?>
% U& }& V$ ]% Z+ L/ @7 _% K7 J5 Z' H! T, ^
第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。
2 c5 e/ ^! N  j0 I0 S& c* g
直接看下面的例子
# l" d; ]6 Y1 `5 }
<?php
3 j, q3 W- N1 q" P$ Yif ( $a > $b ) { " y2 [& B( W- \- P  @! b5 d% g
echo "a b
" ;
. u. ]$ N* @3 G+ l* Y) h6 j" `} elseif ( $a == $b ) {
; r% T  q6 a( M( j( @& becho "a 等于
b" ;
" K2 `' a- k% \} else { . S7 }+ v2 {3 j  Z, f* N3 b
echo "a b
" ; ; v/ h/ [, {9 P. u9 S$ E
} 6 a9 o4 x6 Q6 `( W& S. Z! @; d+ Y
?>
. R1 ^6 s! s6 S/ x5 i% z  u4 @0 R5 t$ e
2for循环就单纯只有一种,没有变化,它的语法如下

- ]8 N5 F: ]. S2 a0 ~
( y" _6 `( `- l! o& [for (a; b; c) { statement }   }* u3 y. f2 A4 G9 A$ l" u
其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

3 Y0 N. U3 g# ?: v  i9 a1 U下例是用 for 循环写的的例子。

' }$ P) H, s2 }2 R" B2 W<?php
4 B+ E) a  Y2 B' gfor ( $i = 1 ; $i <= 10 ; $i++ ) {
; q# _( @- Y4 x( k1 a) T/ B: L: ]! yecho "这是第".$i."次循环
<br>" ;   e7 W1 s- P5 R1 X; [4 l8 l
} ; E8 B6 Q, ]% j0 B$ T6 U1 d. c# G
?>
# M# A3 w0 ~; f" n3 H9 t# k8 D( J. [9 W4 E( s8 d; k
3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。

. q! i5 C; S( W! _. f语法如下:
5 N' @( W9 k; F# @switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; } % V. R$ h8 A% \4 u9 w
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。 1 M. a0 v% Y2 s: z3 `! W
' ]! U( W$ C' E* @1 P+ R6 {# T
<?php 2 S7 @- G: x9 [  ]. {
switch ( date ( "D" )) { : M! W) _; n2 V$ s
case "Mon" : # `5 c2 I+ ]8 V' |* R
echo "今天星期一
" ;   y6 W1 F: e$ p% C: p6 ?+ y
break; & C: l  C. }  ^" p5 x; x
case "Tue" : + ^! G1 \. ?: @! S3 D
echo "今天星期二
" ; " ^) q4 M2 B3 @5 ?. I
break;
1 z- F- m* l9 Bcase "Wed" :
5 T# F3 @* \/ k+ C3 Cecho "今天星期三
" ; & V* ]4 D0 z, o. n
break; : k  x4 @" j' w7 _; Y
case "Thu" : " z' L# L" y: y2 z' ?
echo "今天星期四
" ; 9 y; U3 w8 W) [* W- k. y' W' K
break; : e4 U5 O9 P9 M8 p( p4 z
case "Fri" : ( ?3 H% O3 v" F1 ?8 f4 c
echo "今天星期五
" ; ; p4 g, p7 ~! o: Z/ S
break; 7 ^2 o( u8 w0 w. j, Z
default: 6 r# ~. \/ ]. X6 Y* N0 |3 l
echo "今天放假
" ;
$ c6 k" O/ h) `2 S* J8 Q- ebreak; 3 f' F) [) V7 H) n" t  N0 U
} ' R' B8 T% i& T/ S* V1 O3 \4 ^
?>
5 h& _+ u- S0 V) Y0 M这里需要注意的是break;别遗漏了,default,省略是可以的。
) w: Q# F) r) {& u% f# V
很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。
; a% {0 [8 v4 C# W5 p
十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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