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

十天学会php之第二天

php的流程控制
) W6 l- R2 L. W
6 j' O, h9 w/ ]1if……else 循环有三种结构

3 G* V' W: k5 a, c: c8 W第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: ( y/ N6 C3 p& [8 b! m

6 R  R- S* @2 E* }( F+ m3 lif (a) { statement } * ?; W! s3 `9 a7 ]5 j2 l4 m4 m
其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
' p0 O2 ^/ H- T. K7 Z: b0 ^# y, H; e
范例:本例省略大括号。
1 v. e1 a- }( Y) C9 T7 ~
; {! a6 X- o- w2 p! T2 t
<?php   v8 H: z2 \9 ?+ f9 R
if ($a==1) echo "我爱
php" ; 1 R1 j/ Z* M( }% |1 j" }2 [
?>
! m  Y2 Z* L3 {9 U1 w7 ]
( Y! |; y, I4 V8 j- X这里特别注意的是,判断是否相等是==而不是=

2 j4 M4 {3 a, }  o% ~  _$ R" Y范例:本例的执行部分有三行,不可省略大括号。

# M, S5 n; P$ r
) n7 S- W8 D1 M2 r5 m$ ]; Y<?php 4 T) a2 z. F3 A  @9 g
if ($a==1) {
; V1 q5 e5 K' c& }echo "我爱
php" ;
- _; O# O% a8 w1 }8 d3 x4 Kecho "<br>" ; 2 S+ X! g' C! U( G( g; ]6 R1 O, S# ~! O
}
; n2 U+ W7 y" P6 `. |% y?> 3 T0 V) b3 n) T, D
( ^6 f  \2 F* g! }2 ~9 U, A; H
第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:

, l  M5 r/ Q; W7 e8 O3 k
6 W! a' H* k+ |) M' l& aif (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
0 I5 H, j( A: n" a, M; a; `
<?php
/ W. |  P* }3 ^5 `, r+ \if ($a==1) {
+ M+ m6 c: N6 @" W  q4 z7 s# I5 }1 Zecho "我爱
php1"; ! L" v% K  H- A3 p( ?9 _/ {& b
echo "<br>";/ q" p9 H0 V* r: _
} $ Z, w- O6 q+ t0 `- W9 Q9 |8 v
else {. ?' k) q* o; ]$ o9 Z, f
echo "我爱
php2";
# _7 [/ s- ^' ~5 k- h) Vecho "<br>";
4 V0 Q( ~- s% I, S} 0 f6 ]$ g# r* N  \
?> 8 J- q! i( O& e; h2 l" j5 G5 I
+ C2 C: m, @6 X$ I$ o
第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。

& e0 }$ k- H: {+ n直接看下面的例子
  k! I% n- ~, |# o
<?php
- g7 w6 F; R0 q0 Q; w  u9 |if ( $a > $b ) {
2 W; h6 z' L: w& v. n6 U: g! y; Aecho "a b
" ; # |+ V6 c8 i9 Z5 v5 ?6 t/ m- p; t
} elseif ( $a == $b ) { & `- `$ U- M5 y: P/ g
echo "a 等于
b" ; 3 T3 k+ [: Y! v
} else { 1 n! L3 r/ ?) @
echo "a b
" ; # m8 \- z+ g  x9 {
} - e9 {* w5 V9 K
?> * M2 ~9 Y$ K+ {1 u
9 l3 O: [3 N" n) B9 @, ^9 p
2for循环就单纯只有一种,没有变化,它的语法如下
' l) p3 N( I: H4 T
: t1 H, O  `  i% D7 G* P
for (a; b; c) { statement }
) E- a! @1 Z, Q$ p) d8 q其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
9 M! M, ]+ M+ F6 @4 `
下例是用 for 循环写的的例子。

9 ^: m& M2 Y3 e8 ]9 Z<?php % @) [+ l6 j8 D
for ( $i = 1 ; $i <= 10 ; $i++ ) { 2 `# Z- r0 J, T4 b
echo "这是第".$i."次循环
<br>" ; " }) }+ f% _9 L; F: T, v+ Z
} * t) K  M* E2 ^* y
?> # m; o" n8 ?0 w( C# z# Z

, R! i9 `$ k2 E; T" p3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。

4 Y3 S2 n0 @4 \: w- z( g3 I) w2 T/ a1 o语法如下:
: `% F8 ]! i* W! m# Y! w# M2 Eswitch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; } . Z/ f2 t6 k0 b0 `' a
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。 4 K- i7 |: _& K

5 P5 p  n8 {/ a<?php
* E% @" |1 y8 O0 eswitch ( date ( "D" )) { 8 D; {/ L, ^1 y) ~
case "Mon" : 2 N; x$ i7 G& v
echo "今天星期一
" ;
/ @. H  z5 C$ O# y5 Ebreak; ; U" t8 U, l6 x$ V: ^1 }
case "Tue" :
( i: c5 @* n" l+ @% Techo "今天星期二
" ;
- C8 P6 U& G* |" fbreak; 6 w  H) u9 l* T8 f. }
case "Wed" : , C6 V7 n8 a/ A+ t9 N/ y. i
echo "今天星期三
" ; ( ]6 w$ M6 i6 F5 ]
break; % Z6 W8 q, b2 T
case "Thu" : 4 H4 ~$ t' H( Y3 `$ t! G: y& |
echo "今天星期四
" ; & x/ o. i% A# M# g/ }
break;
% g( z, G+ q8 p  ^! c! Qcase "Fri" : ! X7 X5 i# Q+ ]  \
echo "今天星期五
" ; & j. a: v' B8 ]0 \! P8 ~
break; % k, c- ?; T3 V! P9 U6 G
default: $ d- d5 ~( C) Z
echo "今天放假
" ;
# C3 [: j. R4 [! Bbreak;
4 X' m1 D+ l( Z% W; l' J} % n) A: n; k9 d! x1 o# L" w( [
?>
) S% W8 k2 [' q; Q4 B1 F这里需要注意的是break;别遗漏了,default,省略是可以的。

0 y6 U4 S% `8 v% W* f很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。
' D8 z9 i+ r3 ^% H3 M: P
十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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