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

十天学会php之第二天

php的流程控制 1 n0 w3 s7 q( R2 ?0 h

" w* A. B7 r/ X1if……else 循环有三种结构

7 O( p  m6 t$ o1 _$ F( ~4 ]第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: 3 [. I5 Z$ c* ^" \" d8 }  v

4 ^8 a, b" M# x: P, qif (a) { statement } % o/ V# v& F& O' a
其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

1 C$ e5 L' d* a8 [# C6 Y范例:本例省略大括号。
7 w- S5 O" J. f7 @- R

) ~3 V2 n; p" q  z<?php % \; t1 O, R. T8 \; {1 q
if ($a==1) echo "我爱
php" ;
) ?2 }# l/ c7 J3 V1 X- {$ j?> * G& F+ m) s* E
* [" h7 {" D! t9 d& g
这里特别注意的是,判断是否相等是==而不是=

7 O) ?9 f7 z* O* B9 S范例:本例的执行部分有三行,不可省略大括号。
+ X2 Q9 g3 t8 P' @! u: ~1 k

" A& B: P, U+ b8 S; ]<?php
9 {; ~6 J6 B: t9 [if ($a==1) { 9 u( w9 _1 U( s0 l
echo "我爱
php" ; ( a) d9 _  Q, \# g2 U- z" q
echo "<br>" ;
$ _0 T4 \7 U$ S, n1 p/ `* \} 8 G; R! h- i: i# r$ b, F
?> $ A, z' @4 @6 ]2 z* Z

1 a- K3 D! u. A3 H0 U& O第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
* h! m; C$ n/ E. h- h5 I' e4 k
7 d2 \5 p% |2 J$ m8 l8 s  W
if (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。

. a% v" Q! h! y<?php
  e: f/ \2 e; w/ ~1 s* ^7 P, gif ($a==1) { : Y+ t( ]9 ?1 v# J9 j! L
echo "我爱
php1"; ) s- ?; _; G3 R0 l; a
echo "<br>";
0 d1 f. q) {* c3 m- ]} # \1 i& X) A  {% n( w
else {
  w  z% ]% F& d  Y$ S. {7 Xecho "我爱
php2";
) `8 [4 w8 R3 P; N3 f: F* O* cecho "<br>"; 7 j6 q% C7 W+ d- V. P
}
- \6 L7 P. X( K& g: z! ^  K9 `?>
# x- v1 c# G  F( |1 ]/ ]) V
; ~( f/ D6 G$ }+ r第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。
' ~$ Q0 O9 h9 i; m* {6 C
直接看下面的例子
7 P& p* e2 q( N9 C, N
<?php
" X3 Y* Q  f' }$ A0 B( C$ ?if ( $a > $b ) {
% q  w$ [6 F' T; w' M. m' Recho "a b
" ; 1 c7 J9 R& `. ^0 k3 k7 @
} elseif ( $a == $b ) { $ F( i. D$ N8 Z2 Y1 D( }
echo "a 等于
b" ; % |: d1 c  ?, q2 D* |: j
} else {
4 G* X; e5 k! q9 Iecho "a b
" ; ; {6 f; S$ A. |* q2 d' T
}
1 Q. ?% t" z  l. H?>
5 N  j6 n; Y  U) x8 f" l( Q3 M( q7 k
2for循环就单纯只有一种,没有变化,它的语法如下
# D; c$ {6 G7 E

6 D3 P3 Q; ]: R5 k" F0 nfor (a; b; c) { statement } 7 m4 ~: O. a- ?( d: t4 W" {
其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
7 `& l; k, V. g) q
下例是用 for 循环写的的例子。

% d/ I, c  Y0 y; A' g% ]$ r' p/ G<?php
$ J7 A' l( l2 z& ?- C7 m4 vfor ( $i = 1 ; $i <= 10 ; $i++ ) {
! h' Z& B, P/ w- a* b( |echo "这是第".$i."次循环
<br>" ; 5 T0 J" r$ z4 j" P9 K8 Q
} " f+ V' I. ^" y+ a4 ?4 ]
?>
& k/ G, M% I( [- U% w$ N) Q
: g" z8 z) H! _9 f, s4 p3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。
1 C" D. }2 @+ Q% y6 m/ R/ C
语法如下:
- G5 c2 @% D# f8 |3 |switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; }
4 t/ c4 X1 |9 s
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。
, p- h! z9 n+ g0 K6 h: |, D' K: A6 X6 X8 }( C6 |7 i0 N
<?php " h6 ~" ?! R* k) R
switch ( date ( "D" )) {
5 l! X9 Q; l% ?; ?4 G: Zcase "Mon" :
" W1 z7 R( E* B% ~echo "今天星期一
" ; & f7 z* B7 j" |) o7 V
break;
" `8 }7 t4 X; n& K+ Z; Jcase "Tue" : : k3 \) m* N/ m, W
echo "今天星期二
" ; . K2 |# G/ g* u" M
break; ) B6 h3 W3 H9 F9 b. b
case "Wed" :
+ R: W3 W- u5 X( d5 p$ secho "今天星期三
" ; 7 @) y. K1 g2 H% V; I! x& b; s' l) [
break; - g0 u' }! q0 T" L1 A8 k  J0 w
case "Thu" : 4 r* H) k2 L; \9 t2 j& ?# ^* A
echo "今天星期四
" ; " a8 {6 g/ Q" X% N
break; 5 o+ }! M" E& N. t4 `1 `% x
case "Fri" : 2 G  Y2 H, K9 H3 j# U7 ^/ G8 x
echo "今天星期五
" ; 4 X3 h$ w7 R# }$ W4 y5 Z5 K! u
break;
# R/ \) L3 d& I: @0 d1 D' x* Udefault:
7 o( }+ p! H4 V! @echo "今天放假
" ; . `, w, v9 ?+ R
break;
7 s( [: \' j$ U} 9 j6 X" x  J$ h
?>
4 A  G" B. {- V4 b2 ]. |这里需要注意的是break;别遗漏了,default,省略是可以的。

% n/ R! V$ |0 M( d3 i7 l很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

5 ?) N; P& [& G) `: F7 \3 q十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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