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

十天学会php之第二天

php的流程控制
! i$ K$ K4 s8 k1 d5 Y5 A9 v8 e0 r% c/ m5 w) ~
1if……else 循环有三种结构
& |7 [' E' g, K# p
第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: 1 c  d3 ?) w) Q, R) N7 P5 M- l
5 r' I/ R) W8 c* i4 T; y
if (a) { statement }
4 B; R8 p$ O3 ~1 h3 |# v5 j& s其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

8 F0 X0 b6 `# d6 _范例:本例省略大括号。
* H( V% m, J3 m7 w/ Z6 R. o
0 t$ p' Z. z  d
<?php
, U, H  A4 x: Nif ($a==1) echo "我爱
php" ; : i, |6 p. \9 z8 v2 N# U& K: m
?>
8 p$ @3 n1 G7 B0 U
, E( y" s; n6 l+ t  V这里特别注意的是,判断是否相等是==而不是=

! w9 ~5 ]; W# X范例:本例的执行部分有三行,不可省略大括号。

- K  r  J4 }! T
3 ~4 c0 f/ R7 s$ A+ l$ b<?php
+ m4 t/ }- }$ P( ]if ($a==1) { ) k! O5 _& s+ Y; ^
echo "我爱
php" ;
; L/ _6 J  ]4 _  H8 N9 mecho "<br>" ;
% k/ j4 q( y! d  v% T  ]} 7 g4 u, Q* q6 K
?> , H! V) ^# J$ I

9 Q" `1 C0 Y. B9 R第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
) G' T  |6 m3 B, r4 h

9 q" U) g- }7 r. |* I! h3 Jif (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
' O% m& O8 P, X' J
<?php ; \" z3 m5 |; H, u, }6 Z9 [5 |  |3 a8 |
if ($a==1) {
7 p* A0 @- v+ x8 jecho "我爱
php1"; 0 O! z: M$ ~! o' \. z
echo "<br>";
8 z  a$ F* ?4 S4 n} " C: }9 w0 D/ n4 z4 g5 a
else {
6 S; S# c( M6 D- X% C, {/ h- ~echo "我爱
php2";
+ `. W  R: G7 p! T$ ]' lecho "<br>";
5 `* `) @6 q% L" R/ K  s0 Q} 5 ]  R- K# D5 e
?>
3 W- d; k' ^1 S! c! J
, ^' D+ G2 B5 O' ^+ J第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。

) m, ~0 p* G$ W  Q+ R% {! q直接看下面的例子

8 L$ b/ k& W9 A! D/ ~<?php
, n7 k$ H2 J8 c% c+ a9 |if ( $a > $b ) {
8 p2 W$ k6 V: u$ }echo "a b
" ;
! v3 B* C5 _9 T} elseif ( $a == $b ) {
$ f2 @- N: h, U- Becho "a 等于
b" ;
) ^5 D7 V$ A& R+ C2 ^' Z* ]. V} else { # n% Q, h7 U) W; p' e
echo "a b
" ;
$ o0 Y+ l( V4 ~$ a' I5 W6 J2 j' ]% W} % e% s- c" T& n5 G/ x
?> 1 L" @: ?2 U7 \& y9 V6 O

% S+ P$ t6 b; A4 u9 {# R2 _2for循环就单纯只有一种,没有变化,它的语法如下

8 v) h) ^8 s1 v" t
+ A4 b% g4 x: |: v2 a  |for (a; b; c) { statement }
9 k* D( |0 |- w: Z. _& m2 E! H其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
% s7 |6 Q2 O' I% R: T
下例是用 for 循环写的的例子。

9 y: N# j+ p# y% f$ L2 s<?php
0 x3 G) Q: ?) G+ @for ( $i = 1 ; $i <= 10 ; $i++ ) { . o% a2 p) q; [  }" T* t
echo "这是第".$i."次循环
<br>" ;
1 |, {% ~1 q- i} & F# r+ [" ^4 j* A+ Q
?>
* w) @3 \. V# G3 @: t- s& @. D: B. N9 @1 Z. h
3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。
5 l$ P5 }% \+ p
语法如下:* e, O+ s0 _% A1 c4 n
switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; }
2 }# s/ @, v% I
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。
. e# s  k, f8 }: I% W  k% c" w; r0 s; o1 C# P" G  T
<?php % D' @2 i& K. Q3 G" u) r) z1 U# }
switch ( date ( "D" )) {
: y4 B) s, G# _$ X  @& Scase "Mon" : " Q. ^) Y3 |5 ]: J* P* U
echo "今天星期一
" ;
1 ]) L' Q4 j, S( ibreak;
6 J) t1 Y7 U% }$ L6 hcase "Tue" :
; W. g% O3 J' i- T5 Techo "今天星期二
" ;
; B* U1 {3 }% }, N& _- U; Wbreak;
) c" n& ~6 p9 Vcase "Wed" :
1 D! X; C0 e6 E( |/ i: becho "今天星期三
" ; 2 ]4 M7 O5 |) [7 R! N0 h
break; $ T- x6 x! Y9 w. ~
case "Thu" : ( b4 l! `! y, g, g% W
echo "今天星期四
" ;
- y5 [' a5 L) G$ ibreak;
& I( k$ P9 M0 a: `case "Fri" :
- S4 X4 d( j; j8 G* I: ]echo "今天星期五
" ;
. C; v8 [1 D, M- O. p& lbreak; 5 S& ^5 b2 f! t! }# T) ^. b
default: + C1 c+ Y8 H0 \- g2 O4 m# g, p
echo "今天放假
" ;
' J; z# p0 o  \) F  G9 c  r8 Mbreak; " P# R  |4 j0 j' i
}
, b9 r2 J9 |/ H% ~( L( m0 z+ r4 k/ _?>
: j/ N! \2 m$ i, P5 [这里需要注意的是break;别遗漏了,default,省略是可以的。

1 W4 g, q3 b- x4 I很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

1 _+ d2 I6 v$ y& ~& ~* x* `9 _# ^十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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