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

十天学会php之第二天

php的流程控制
' I- E/ f& F3 X5 _# k
) r  @  C2 m6 r) Q! M& N3 f& l% g$ X* n1if……else 循环有三种结构
+ W$ I% v6 a* e. W: q8 ^- M5 k
第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: 9 ]0 J# U7 K3 g6 W7 b6 j% [' C9 d

; n8 U+ ^/ |1 `if (a) { statement } 8 s- _$ X- e& X/ l/ V
其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

1 L! e: r  I! S% s5 t7 A范例:本例省略大括号。

+ @6 d3 j+ X. J
% e1 s  [3 l3 l<?php 2 Q/ X# g7 i$ }$ P; o4 O6 X
if ($a==1) echo "我爱
php" ; # g1 b5 ~5 ~6 _6 m  z2 G. L$ E
?> ( Y$ V: n/ d+ q. N7 c

0 C  O' e7 N: ]8 x; V. @这里特别注意的是,判断是否相等是==而不是=
% e& v( v. S) c5 ~! ]
范例:本例的执行部分有三行,不可省略大括号。
! [# b8 B# t9 c' G$ f: e$ g, \# V
, x# }( V2 Q4 S$ q) i! b
<?php   l4 O9 V1 i+ S9 w/ D0 W* H( n/ V4 G
if ($a==1) {
  @1 N7 B+ W& i( Yecho "我爱
php" ;
1 F2 s  Y  J+ b4 _4 z& Gecho "<br>" ;
( R  w" `  Z. ?$ q, x0 O}
2 R5 W1 u; X2 Z2 o- T( ]) l?>
: H2 ?: _! m$ N7 _9 p- @+ o1 z1 |; ]) u" r6 R9 w5 M( L4 L, Z
第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:

. c3 o$ m7 B0 F1 r
! ]& Z7 P; T6 E: Z1 r. tif (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。

( O3 `. e5 [8 |& U' \<?php . Q4 a" M1 ^1 J+ m
if ($a==1) {
$ M: L' l9 |5 x- Yecho "我爱
php1"; " Q$ t! w. G9 Z8 v3 b
echo "<br>";
3 C1 f& k) E' s7 [+ b3 @}
: H1 ~9 V8 A$ p% w$ Lelse {+ `# \, Q! O- G7 b2 q; D
echo "我爱
php2";; o. N5 o( \) Z8 O- W5 y
echo "<br>"; 7 l7 ^/ i# w( t+ _/ r+ i
}
6 s* N2 N! z; O& t?>
& ?7 K8 {. [% e; ]
) b2 L2 w8 S' g8 z4 m. F5 h第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。
+ F9 F: ^( S5 A
直接看下面的例子
- k* p1 ]& b' Z3 K
<?php
2 J( n7 d" L5 C- Y. mif ( $a > $b ) { 7 ?+ X8 D1 i; _5 {
echo "a b
" ;
7 Q( H2 D& y) U$ ~8 _} elseif ( $a == $b ) { 4 k% r2 ]' {/ A  w
echo "a 等于
b" ; 9 d- R' }3 u/ B% a
} else {
; M! u# ]' Y- ]$ cecho "a b
" ;   v9 j5 l7 j( d# `" I
}
7 Z0 r2 u: ?" l( h' y?>
- A- i! a# B9 a1 u
3 ^# u' z" x4 V/ f# U2for循环就单纯只有一种,没有变化,它的语法如下
9 `/ d: N0 w' `- A

5 t1 \0 @2 Y# p* Wfor (a; b; c) { statement } * `2 |7 p: ^8 K) ?& d1 t+ u
其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

+ J$ N% U7 {4 a( _2 c- [" D下例是用 for 循环写的的例子。
( h6 r1 U( [1 R4 S
<?php " A- L% s1 t2 ^3 y" X2 R4 _7 Y: \
for ( $i = 1 ; $i <= 10 ; $i++ ) { 9 C! |$ F; w9 R' |' o& A
echo "这是第".$i."次循环
<br>" ; ! T7 A$ v- x5 Q9 d
}
2 s. d3 I- V3 ^6 m6 b9 D?>
, s, t" n, N$ B1 c' L" U
& O' d0 o: |( G+ n. y9 s- V3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。
/ t" a0 F0 q$ l% A5 m
语法如下:
0 q+ Z' t" X/ j+ n5 [. E- f1 Aswitch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; } 1 |5 K) c* o# L' a8 W! A
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。 8 X4 j% Y1 E4 i, |. I: z
$ V2 e1 b- O- I4 T/ Q/ r8 C2 s+ ?5 E+ Q% E
<?php
! v5 D  ^- _! Sswitch ( date ( "D" )) {
8 X1 i  a6 C, s8 }case "Mon" :
; K$ A0 c% e) o# Yecho "今天星期一
" ; $ M$ h; I1 R9 s' p; R0 r: V
break;
' g, L/ u5 E3 A( b7 Q' O4 Acase "Tue" : , M3 o! T+ O1 l
echo "今天星期二
" ;
& c  \- N5 N7 m' y$ ^break; + o, \" C+ K. `0 K7 o0 C2 [
case "Wed" :
" _# ?+ b+ N9 wecho "今天星期三
" ; 8 {/ x: X6 L7 T8 I1 I9 [
break; ( F$ a* g6 T- G4 V  k: l8 b
case "Thu" :
5 |; _; a$ j6 }5 P$ s* I4 Oecho "今天星期四
" ;
& o( _, j1 Y; T( {break;
% k6 v# u3 e7 s7 q+ |, W2 j1 N! Zcase "Fri" : 7 S6 f) R6 m9 O1 d3 K
echo "今天星期五
" ;
- w, E6 t' m9 y$ q6 [) `; n+ E( Sbreak;
* Q' E9 z+ \, e! L1 xdefault: ) \& {2 k/ Z9 b  ^$ a+ ~+ d! ~
echo "今天放假
" ;
2 s! g1 y# q. t3 kbreak;
6 b: c+ P  n; ~7 H} ( S; r8 V# D; f7 V
?>
. d, W; Q) J! Y这里需要注意的是break;别遗漏了,default,省略是可以的。

3 S1 J3 A& g/ ~# e8 ]8 Q# v很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

1 G* D. a% H% }* D3 I8 }十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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