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

十天学会php之第二天

php的流程控制 * A  y: k2 N8 R, s" L1 j( z3 O1 \
0 U. _0 m+ S" b. I5 h) ^# _# i
1if……else 循环有三种结构
9 k5 f( }0 U/ r) e
第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: ; K" Y. q  r7 u0 w2 t4 e
8 T& S7 o! P3 o" D. H
if (a) { statement }
* w: h) K$ ]( O/ |其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
- E% r, Y9 x# _' X' i; `
范例:本例省略大括号。

1 `5 E; E3 p) p  L& F# \+ q9 Z* k3 A& i0 k
<?php
/ _% h6 s8 v5 {! \: N& U+ `. n. |if ($a==1) echo "我爱
php" ;
- [* Q/ `; ]4 ]  r3 e, p# \" K?>
- }: T% X4 \5 M5 l/ J
( r& a" h* r( J% z8 e; N! w3 \) Q这里特别注意的是,判断是否相等是==而不是=

/ o1 W" Z. Y- O( f4 M" T- M范例:本例的执行部分有三行,不可省略大括号。

& K2 W' J' a# i* e% p6 L8 w/ T' Q  ~6 D0 C4 e! ^6 m% h' _# b
<?php : g- p) a/ R5 N9 [" u
if ($a==1) { ( O  S  @' c  ?' i: B
echo "我爱
php" ;
9 [; U  V. N- ]echo "<br>" ; " i0 G" Z6 m0 Y* U
} : A# T* n0 v, v4 o) K1 z
?> # |1 X, ?1 ^1 ~# l

6 @' }* i0 s9 m- S: |" F  c0 y第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
$ c5 `& f$ E) h

3 X+ g+ q2 v3 j0 c( Y  \4 G/ i. aif (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。

5 q( \7 x$ ?+ I+ F<?php
$ {* }9 p- R: cif ($a==1) {
" R; i" ]+ J* B1 n+ iecho "我爱
php1"; ( X, u  j( C0 L5 A8 m; n
echo "<br>";' f$ a& K! c" N% l# P
}
  a& @# g: _1 g6 i! @8 J/ d6 qelse {! [* A( ^" h& s' c0 q" g7 _- a$ n
echo "我爱
php2";8 Z* N5 @$ d& S! g  v
echo "<br>"; , t: h- ]3 Y4 ^! w2 D$ _7 h
} % a! B) S& F; `6 H9 v5 r; O
?> : k+ R( s% X) P3 Q

3 R, h  _/ h; b( i3 Y7 L: Z8 r第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。

" m6 S; ]# s9 _" B直接看下面的例子

. S0 m5 E' Q3 H' m4 Z* E" }' w<?php
- n( b7 e. H4 j! jif ( $a > $b ) { ; h( z0 x# @* ~3 O: c$ }
echo "a b
" ;
  {( \4 O) d' d$ B! M& R2 b} elseif ( $a == $b ) {
# y" Y& V& v1 G  R, w9 yecho "a 等于
b" ;
; u' f- |, ]/ Z( M9 V$ s} else {
. ?; d: |& t; V3 f% T7 |' wecho "a b
" ;
4 y; m5 o8 R! p# Y3 c7 {0 I. y} 7 l& r9 @# L# M- g
?>   n' l: ^4 X, `; _
8 _% W( \5 Z5 T$ a
2for循环就单纯只有一种,没有变化,它的语法如下

8 f" m  [5 |1 g/ Q8 }' M- Y' F, ?3 X, C1 ^3 e- S4 B
for (a; b; c) { statement }
- ^9 w' M8 s. i其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
# W7 S- r! [+ i' {  _& E$ }5 m
下例是用 for 循环写的的例子。
% W/ H5 M4 E: x" I) r/ e
<?php
: r: q9 x. V0 P+ E1 Pfor ( $i = 1 ; $i <= 10 ; $i++ ) {
" k9 T) O( T) h# ^/ x- Mecho "这是第".$i."次循环
<br>" ;
2 E. C8 I  [2 x8 ^}
* @' H& K' J% w?> 2 M$ A3 E/ l5 X( [* h" s
. v+ S2 }: |/ d* n2 v
3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。

1 E( S$ r3 X6 Q# H语法如下:* O7 B) \7 p" @1 M( ^& D$ e
switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; }
3 r+ @7 B5 A* h: [
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。
/ x, y: u; U+ b2 A$ `0 T& o
0 l, M& S! ^6 R( \7 l<?php
2 t7 c) J* I& f% p% y# {6 x. M2 Vswitch ( date ( "D" )) { 5 Z' C; ?& k& _
case "Mon" : 5 w1 X# e5 E4 O. D, `' E
echo "今天星期一
" ; 1 j6 N. T. W7 s0 j( }
break; $ n( h1 x& A5 J, h
case "Tue" :
; k( J5 f4 |# f/ o$ Q9 Mecho "今天星期二
" ; , z7 J$ M3 k+ H3 ^+ g
break;
# `& x, s2 S" g' I8 I7 p. o, ^case "Wed" : 7 C9 A: E2 R% p) o5 K3 S3 A, B3 B
echo "今天星期三
" ; . w( h. @, k1 y9 d1 v. c4 B
break; 1 Q& L; w! k) M% ?$ b) s# I0 t
case "Thu" : ; u, ]6 C2 @6 U! i6 \1 S2 {
echo "今天星期四
" ;
+ F* q4 N0 j% R3 Mbreak;
* i' ~7 I9 w( @6 Q  z( _case "Fri" :
  Q+ t- t1 e& J6 K0 Jecho "今天星期五
" ; & d  c8 f& h) r/ h' S
break; % S5 p* R& P" y2 u/ o4 K
default: 3 x: _1 \9 l+ b+ P
echo "今天放假
" ;
) O, Y4 P& T! R) H# Wbreak; # [* z: G0 p6 O5 H, X; _
}
$ f, m  J* [: z# Q$ e/ Z- _4 i* P?> ! G7 H8 O* {; w4 w8 A2 ~2 C2 e, Y' ^
这里需要注意的是break;别遗漏了,default,省略是可以的。

6 r$ Q$ `' o$ v很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

9 c$ I) U2 ~  n十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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