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

十天学会php之第二天

php的流程控制 % ]  A) N3 _$ _) V! D

/ e9 i9 {4 g- S1if……else 循环有三种结构

( q9 Z" h# L  ~3 x4 Q% h第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: / K2 O- b. O- Q" z# N! S: e
7 r' G2 F) a9 g
if (a) { statement }
# I% v$ Q0 m. V# X3 ^2 G其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
- p6 k. B3 m* x3 g/ f2 M; g
范例:本例省略大括号。

! t" }% C! x2 X4 j" `& \
) @1 w/ g/ `( J" l<?php 7 K4 O0 I# @( P: n6 q
if ($a==1) echo "我爱
php" ; 3 {* S8 t9 d! \  Q
?>
! X8 b7 V3 m2 b: B3 F) v* A, T0 g' _6 [# g. K
这里特别注意的是,判断是否相等是==而不是=

1 e. b! B+ d# G' f# `范例:本例的执行部分有三行,不可省略大括号。
# ^( |* ?3 H+ S, G' @
) d: Q- H, ]) ^) U0 V" G+ w
<?php
5 `$ ~. J* x5 yif ($a==1) {
2 A: u5 ^7 Q  x' z" B# y+ Secho "我爱
php" ;
, ?7 `5 ^" v/ r3 c& t$ Iecho "<br>" ;
( N& l4 z; S8 c3 a. Z8 b0 n}
/ A6 S+ B  |( D# J8 G3 E+ z0 Y# u$ v?> 7 D3 ^2 R1 a3 W( ^* G# V6 ~

( v4 J( |/ D+ L% ?# k" a第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
* q* R- Z5 z/ O: O

7 Q: `# u. ?6 w4 r* d0 r* Yif (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。

5 ^8 s0 q. N7 C) s6 _, X<?php   f: _3 d" g0 b
if ($a==1) {
/ j9 B# j$ ^. kecho "我爱
php1"; 7 I, O9 g9 ]7 r, M
echo "<br>";
- C0 K) J, \9 c}
) Y1 B; T0 {1 R$ S1 ^* R, `else {
8 V& m+ K7 F1 K! Oecho "我爱
php2";
$ A( [$ L) O4 @* H# techo "<br>"; $ u) t8 b7 I! ]7 N! v
}
# U9 i9 F/ e1 ?* a$ \, l?> $ N( ^6 a! |* F" q% V

+ ]3 R; `' z" {) G第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。

, L+ ^5 F1 v- H& g5 m直接看下面的例子
( |- Z1 q' i, l- x6 U/ Q4 Q; X5 O
<?php ) g3 Q6 G' F6 _
if ( $a > $b ) { & Y1 b1 G) J/ N' K
echo "a b
" ; ! e* Q- Q( E. I% k. q' g, r
} elseif ( $a == $b ) { . z. ~2 i; r  \( P# f
echo "a 等于
b" ; ; F+ P% O5 k$ g, m+ O5 u
} else { & U7 A- l" X8 l2 K, n* s
echo "a b
" ;
( ]- V; y/ d# d9 M" v9 S& \! J4 n}
/ t/ p" N8 K, Q$ Q! J?>
) \/ a' h! e0 ~1 B. r% U" G9 e  f$ _* k0 N) V
2for循环就单纯只有一种,没有变化,它的语法如下
1 U% [# G# p4 k: J! G
: o: e3 [* T) \) r7 M4 f( Y* F
for (a; b; c) { statement }
$ k5 X- s3 p& ~. b/ G7 @2 y其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
6 a& S% X0 L: i' q* c2 K
下例是用 for 循环写的的例子。
2 Y4 m% m0 f8 [" F5 s9 e0 a
<?php
4 T9 G6 H" J# g( `for ( $i = 1 ; $i <= 10 ; $i++ ) { 1 [; [6 z' u2 j) D4 L
echo "这是第".$i."次循环
<br>" ; , E# O, J2 p3 L; a' \
}
: b# d, S3 F( l, I# e0 _( \% W0 p?>
# z7 `8 U% O( x8 R% }$ Y! @# h, X% I) g! L, z
3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。

; j: f' _1 l& L. K, |. R/ [* a/ T语法如下:
/ h5 U. W/ S% gswitch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; }
) z! t. A4 _6 U
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。
( `7 T( f8 o9 g1 ^; }3 b
. W& y9 \, r4 D( W/ t. Z<?php : x' L" m* W' H) h; S. ?
switch ( date ( "D" )) {
( ^6 Y- d" s5 ^case "Mon" :
) o  d6 J! X4 g, l5 mecho "今天星期一
" ; ' f( S6 j' m7 Y; h+ P7 d( [. p
break;
4 V+ M# K3 u6 B; {case "Tue" : 5 A* p1 |) V- H- @  V( y
echo "今天星期二
" ;
4 @3 q: P* Z4 c& a0 {8 |break; & C; _8 k" q( l" L  A* E/ B* D
case "Wed" : + T8 Q1 u. A( ^% l. r1 `# ]. X
echo "今天星期三
" ; ) p7 T$ }. B" A. x& [* ^
break;
, C- }0 P$ e; Z4 Tcase "Thu" :
2 C2 ?7 T  y7 z6 fecho "今天星期四
" ; & e# U" ]; C2 ]( T/ W$ ~3 x
break; $ V0 j* s7 l0 Y6 q5 `- ]$ ~; ~- L
case "Fri" :
" V+ U0 c( e- `) I* N: B1 uecho "今天星期五
" ;
* n' R1 O4 X, t5 L  U5 E. k$ Obreak;
1 f; j$ P8 X2 v& |# S* adefault: ' b8 M9 a+ ^7 z: F) i0 _8 |
echo "今天放假
" ; 3 U0 F5 w# [2 H# x" \
break;
. @- o: f. v0 p; `}
8 v+ \* g1 Q& U) h- W?>
- L9 A" W7 {+ ]7 k7 k& H1 o* J, H这里需要注意的是break;别遗漏了,default,省略是可以的。

: F% c. C* }* R3 o* z+ i, ^很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

/ Z2 Q" Z/ @' f" l. M" E' X9 B0 U十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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