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

十天学会php之第二天

php的流程控制 1 e( @# O# H0 `4 \
# ^% g8 Z! X% ^
1if……else 循环有三种结构
7 E3 x6 l6 C8 m$ d8 N7 D* |1 w
第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下:
" q  v: j& G+ O. v3 }2 L- i0 u# Z# Z! |- A! X& j
if (a) { statement }
8 J0 a! ^0 ]2 T% I4 h其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
  ^/ Q+ n! C$ h+ n* j4 d1 |
范例:本例省略大括号。
7 `2 Z3 m! N" {; F5 ~9 u2 V

3 r5 D# U8 c3 _' S+ `- g) W5 v0 k<?php
( G: ~. O) e& }" cif ($a==1) echo "我爱
php" ;
: T9 ^! s. _0 x# g0 E( Z, b?> 4 @+ `+ o! d! [$ ]' j
6 G6 ]* f- c+ w5 U: m0 ^$ v) G
这里特别注意的是,判断是否相等是==而不是=

/ ^; e- c& ?4 X* Z  q7 i范例:本例的执行部分有三行,不可省略大括号。

0 v$ J7 R8 E- \0 J0 v: r) ^5 G
1 n3 |) c9 n5 p* J* ]5 U- j: v+ z<?php
2 y& t3 [$ A  X: O/ d3 O; S& kif ($a==1) {
+ K' v6 `. T1 X0 \, w; recho "我爱
php" ; 6 A: B: B& d* {4 O! |
echo "<br>" ;
1 R* a& x, l- [, ]7 g}   \) d- k: y# o$ o  t5 ]
?> + w; i! W/ Q  {  N% S' a

. W6 C; A4 G* u# m% o0 y第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
/ `2 z$ E  ?7 N
9 n$ _, w( V8 n1 b6 O1 I- n$ L% C% M
if (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
& ]9 O" z: y8 a! }$ O, S1 \1 [
<?php
& b! i9 ?. H; F2 K6 l' p' O9 x& wif ($a==1) { ( Q1 _( b. G3 c  w
echo "我爱
php1"; 8 I3 k- p# v4 A9 T* u+ d
echo "<br>";5 z' q' U1 t6 t( }% K
}
% p. W  W, v) ?- A) ?2 Y" `else {: e; v; W/ i3 e* j* y6 w& q1 O$ w
echo "我爱
php2";9 y, z  X" y2 S4 v7 Q' u
echo "<br>";
1 E+ E+ t" P6 i. x# ^}
! a2 Y! {, k& F$ h; c# g2 M?> " a. h2 l$ e& ^! b4 n
- S0 P/ ?! W: T
第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。

2 x: T, s/ @6 u% s3 B: G直接看下面的例子

: W5 m3 t2 E/ {% ]! A: R8 `( U<?php
) b- v0 W/ S3 Lif ( $a > $b ) { $ F$ j6 B; f# F4 t; t
echo "a b
" ; ' u8 z' C4 `( L% I6 s/ O9 k
} elseif ( $a == $b ) { 5 _) q$ f0 I3 J6 ~$ q1 N
echo "a 等于
b" ;
$ \& k8 g7 N4 u( Z6 g6 B} else { ) Q( j) x" `3 e3 S/ g  x0 J4 S
echo "a b
" ;
- m7 L$ e* z! I  B4 J} 0 R: n3 Y( @- a" U, ?* W. d
?>
4 J' ~3 N% i2 o1 ^$ f3 a$ ]) T# K5 W5 {, `2 F
2for循环就单纯只有一种,没有变化,它的语法如下

2 N4 }3 M$ a# V& R$ O
  T7 H0 [% }4 i9 M) [% |+ xfor (a; b; c) { statement } 4 h' I0 n5 y  i; q8 n
其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
" T9 U! O, q' A! j1 m2 ]+ {. C
下例是用 for 循环写的的例子。

3 R7 a. _8 _. X) u! d# ^<?php
3 n5 u* v: f4 Sfor ( $i = 1 ; $i <= 10 ; $i++ ) { . L( G6 `8 f: n$ k5 X
echo "这是第".$i."次循环
<br>" ;
% j% D1 H1 R. q; y2 E6 u9 w0 @}
; s5 q  X( o" _?>
8 }2 f$ m3 g& F! m9 W/ d: \; j
) J# `8 U9 a* ^/ m3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。
5 _3 p* f5 z, i
语法如下:
# |0 K4 `! v( T. K4 \switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; }
* Y$ K% x4 h; e1 L- |) C+ u3 o
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。 9 B* s4 H- t1 m. K! ~7 X/ n

* Q: A  }' V0 g; {<?php % c, ?; Q/ Y, w: P
switch ( date ( "D" )) {
7 \% v' ^3 t1 h; _" Gcase "Mon" : 2 y5 O3 o* t# ?6 F$ Y
echo "今天星期一
" ; 6 A& ^$ l& e* j- p$ X% |) [" p
break;
: a; D! M! i$ R% T7 T9 q$ M- J2 ~case "Tue" : $ K. |( P1 p2 ?4 \0 r- J6 k
echo "今天星期二
" ;
1 U4 m7 X' F- U( Ibreak; 1 t& w( |& [- z0 {) p
case "Wed" :
- }0 Q5 l+ R6 q0 aecho "今天星期三
" ;
2 l: _3 g9 N$ j# z: Tbreak; . O% t) v5 O5 X4 S8 C+ C1 S
case "Thu" :   m  Q) @) ^& S/ B+ C
echo "今天星期四
" ; ; B9 m$ \+ [8 u4 o, q! \( @8 y
break; 2 v, K# I. {/ m! H$ _' |2 c5 y
case "Fri" : 4 I; n) `, w4 M, O5 O9 x
echo "今天星期五
" ; 4 R9 Z# R7 w: t
break;
9 ~/ g% L8 `) @& pdefault:
% k1 [5 A, F+ Eecho "今天放假
" ; % s0 p: ?/ ]& u6 C
break;
$ b1 r; r, f, N6 m3 ]3 F} 3 \8 J" [% }  p" B
?>   i3 g$ \+ `1 Q% v
这里需要注意的是break;别遗漏了,default,省略是可以的。
1 z* y' y9 p9 p+ k
很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

9 I+ K( A* \; d十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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