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

十天学会php之第二天

php的流程控制 : D! d* a0 I9 Q4 ~# J0 v7 {

: ~" B9 V8 g* Y* |9 u. R# R" E1if……else 循环有三种结构
+ b4 J' N& F4 z5 u8 r
第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: 6 j5 g# F- i9 @
9 M0 N) p2 C3 I: g6 ~7 \. o6 j
if (a) { statement } $ g# k; y; Q' T& ]( g3 B
其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

5 A2 L( j) G" S4 y, B; H范例:本例省略大括号。

# ]5 Y3 I2 Q  Z$ E0 T4 R6 Q: e8 ~4 q# J2 b+ ?. W( {& A
<?php
! K) e- `( s. J2 e# X5 ?/ p+ jif ($a==1) echo "我爱
php" ;
3 m2 ^& m/ W; Q( x/ J?> 8 n1 o6 q' l1 ]# l$ m, O4 b. s- E
9 t. l* e  N5 w: J: ^) H# p& d9 ?! u& i3 \
这里特别注意的是,判断是否相等是==而不是=

- Y; }1 B9 a8 K: U, ^* o" z范例:本例的执行部分有三行,不可省略大括号。
1 D2 f/ |9 R, M; w0 L$ p8 f9 X

. J0 Z; K* s* [  R& s# d# _  N! E$ }<?php 3 O9 u1 h0 S# C6 y4 l! }  F4 U2 m
if ($a==1) {
3 p* w# p9 S0 t6 |) i# Eecho "我爱
php" ;
( y# M; o4 Y5 Z% _echo "<br>" ; ! ^* U) y* ^0 _8 \% \$ P
} 0 i+ P* J5 e$ s2 ^
?>
/ W. C, H' I; f; r8 P, M
: L) C  |' n0 p; v+ e第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
- Y3 [; r* V# A. r" X
2 \6 @5 N' g( X1 ~, s
if (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
, c5 i4 e. `( ]# L6 g- g* k
<?php # x* G4 w% D# {6 O* y, c! n
if ($a==1) { ' [9 L7 z  S! Y( O& s8 P
echo "我爱
php1";
! V( o. F" C  v2 @% X$ A2 [# t% secho "<br>";+ j6 Z% o! z( D, {5 C7 x
}
9 v# K, b: y$ U9 `+ k& i4 H; Felse {
& M: V1 y1 D6 wecho "我爱
php2";
6 H6 p1 p5 q2 f1 V9 v' r5 r/ O# \* ^echo "<br>";
6 v3 E) }9 ]/ }8 \% S7 S& }% t  ~}
+ {8 Q9 ~. c% p6 t) P9 c, m% q) x?>
5 Q. D" t1 V9 B- Y1 i
7 h1 W' z8 H. {: Q) f0 M1 Z% p2 ^第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。
" d/ a% U" ?: N1 W7 L$ p
直接看下面的例子

8 n6 y6 r/ T, [7 e' F, u$ [<?php
, C2 H! S/ I9 w5 [if ( $a > $b ) {
2 K3 r- Z. n' b- G( u; U1 ^echo "a b
" ; 8 ~' X8 D# f" y
} elseif ( $a == $b ) {
1 v8 n% z' H4 E6 [6 |' t& ~echo "a 等于
b" ; / H6 w: G* D& C! }( X7 t" l
} else {
' c% n, `, Z' [, [echo "a b
" ;
0 q* c. v0 l2 r1 Q! b}
" f  f, P) D; M# y?> * F/ \# P1 c( K1 X" \, l
3 S& U; K- l  J; t. t' G. i+ P$ n
2for循环就单纯只有一种,没有变化,它的语法如下
* `! s" K+ s  d& i

% I; P  W# h5 ~7 A& `& p# ?for (a; b; c) { statement } 0 o- e* @$ |( Y, Q9 O( I! B
其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
: n$ B) x; z) [; b
下例是用 for 循环写的的例子。
# C) B; r9 F4 |' J2 ^! r
<?php + N. z! p% h  c1 [( o
for ( $i = 1 ; $i <= 10 ; $i++ ) { * a" V$ R* ~; ?" k, Q
echo "这是第".$i."次循环
<br>" ;
2 h5 ]% @9 K$ A! R1 |}
" m; q1 T0 `" c?> ( E" T- s/ `& ~* p9 @1 e- f0 S0 v

4 X. Q" i% w1 Z9 V' _$ B3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。

! _  X* l" X- S2 S( Z; J语法如下:5 y- j1 e2 h. C" O+ B) R
switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; }   K. }" A; c0 w+ w" F/ A& z& b9 C
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。
% D3 Y( ~+ d: X" p4 k4 R
9 u+ w! U. P4 @7 R3 J<?php % V) o. |2 Y0 R
switch ( date ( "D" )) { 5 Y4 \8 X7 F: p( y9 X: Z' D$ q
case "Mon" :
) K# c( _6 z1 A& M# vecho "今天星期一
" ;
% H' N) `/ c1 r/ y+ ^: U4 kbreak; 5 k5 m- f: u4 w# o. ^9 K4 Z; s6 v
case "Tue" :
! M! c6 ]/ l$ }8 e3 n: |echo "今天星期二
" ; 4 L  M" s2 S" M& v6 P
break;
: S( I3 L  g6 t2 f. i) Q  [! Scase "Wed" :
4 d& M6 v4 N1 k/ s# J# \echo "今天星期三
" ; # r2 Z- b5 h2 N5 a& g
break; & k1 N9 V, f$ m
case "Thu" : 5 y6 ?) E- D# \1 M2 \, b
echo "今天星期四
" ; . p: V( s7 m; o/ s" d
break;
% c8 u: p6 f+ q* \. P1 [8 \" a8 Ycase "Fri" : # r( J: v5 t0 v; C( j
echo "今天星期五
" ; * p1 T7 N6 k: z1 ~7 v7 t7 ~& d
break; + |/ O3 ?$ p) G1 Q  C
default: : d0 a& K% g$ k" y
echo "今天放假
" ;
+ J( Q' ~3 a! J1 \5 A" ebreak; 7 g7 S5 n3 s! G1 M" ]
}   K; h; H7 g/ Z: e/ B
?>
: {  Q' B) N9 ]+ ~( U4 b; Z这里需要注意的是break;别遗漏了,default,省略是可以的。

8 h; _( D: P" t( p1 C* u很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

, v: N0 K: q  c  v  L) ]十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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