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

十天学会php之第二天

php的流程控制
- }0 i8 x2 ~+ {3 [: p- \
0 P* I; |+ d0 ^( c0 }# w, }1if……else 循环有三种结构
2 {$ t& u# B: p. J  K
第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: 9 n4 ^7 T: h, w6 Y- K

; z. z+ ?/ b' E" E: N" iif (a) { statement } . `+ N# o1 t4 @2 Q4 z
其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
+ Q+ m3 N- \3 G5 K0 g$ x3 l
范例:本例省略大括号。
# W4 n. Y4 x9 B

% [8 X8 q: a+ F) f( @/ w4 r, `<?php
5 i1 `: D$ Y% z, Aif ($a==1) echo "我爱
php" ; ; y' E: t) C0 r& K2 I* K
?>
3 }$ ]8 K9 S' c  E( Q6 l9 W  Z, e
这里特别注意的是,判断是否相等是==而不是=
+ `. ?& V4 B" W
范例:本例的执行部分有三行,不可省略大括号。

6 p) a6 _4 H9 f; {/ _( I' w, o) V2 U8 f$ ]5 C( `9 F1 _
<?php ; M  x7 V  I0 _% H. u
if ($a==1) { - d' e5 \0 z# |$ T
echo "我爱
php" ; % Q5 W# m0 O( J; ?3 T- r' J
echo "<br>" ;
) l% ~. b0 U6 x9 i}
2 D) x) c, c% I& @) t0 Y?>
, o' V- ]" q  w! [. m# _1 \# Q2 Z# A4 U, E: a% e( i! `6 V. {
第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
! N9 E. F: C" k

  Q6 c; s1 C4 o- I* Mif (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
# k% Z1 a) E7 D# d) N
<?php
" S. m. u# V) _if ($a==1) { & D; e- c7 E9 W# M) s# r
echo "我爱
php1";
* \. D  f% O1 g+ {5 m# g5 wecho "<br>";
1 U6 I2 @) E3 @, n* N} " U$ y0 x0 i7 \; n$ m
else {
/ P# k0 D5 G6 ]  jecho "我爱
php2";' F/ G! i7 T7 i& }4 Y
echo "<br>";
- x5 ?" D& \8 u! P}
/ l! g) a2 e4 l+ F" F& V' z?>
9 _' H; I  t" U3 Q: I
  }# }6 H* G/ d  C9 O1 u' \第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。
! ]% Q7 }6 L* h" D: A9 Y: n) }7 z
直接看下面的例子
2 `# X- B: [7 X
<?php
. [/ W/ x* h, T/ ]. e9 ~if ( $a > $b ) {
9 U7 @8 ]% r. F7 {2 qecho "a b
" ; $ @* t+ |, ?4 n& k) k! d
} elseif ( $a == $b ) { 7 S! D4 Q4 [- Y  M1 B
echo "a 等于
b" ; 6 k+ h" B6 D1 s/ w! C
} else {
! b5 _. f! n: Xecho "a b
" ;
" ~. }( ^, V. U7 e  h$ `/ N}
7 E+ }( M/ ^8 @- _4 }5 i) D1 w. i?>
/ j9 [. L( e4 c& ?* q# D  Y" A
9 Z+ z! ^4 o6 h: l  l5 @# S' p2for循环就单纯只有一种,没有变化,它的语法如下

, Z1 G$ i. d3 \+ K0 c9 H. }& G! W0 Q! P. \1 ?/ Q
for (a; b; c) { statement } 9 Z' Q7 ^( s6 s  T. D8 Z
其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

) R. r% {! X9 v; j( b下例是用 for 循环写的的例子。
% R6 k$ r* I8 H9 I$ Y
<?php
. ~: T4 u- e0 w# K5 ?! Ifor ( $i = 1 ; $i <= 10 ; $i++ ) {
+ M) f, E8 y8 I$ Q  gecho "这是第".$i."次循环
<br>" ; ! ^4 E' `) Y& L9 o! {' w' W$ o6 K  H& r
} 6 ~: r. {+ r* F- q
?>
1 I7 o) `! Z/ ^0 P( a* E# |2 _* ?& v1 D( ?; G' w2 W2 R. L
3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。

3 S5 N& m0 Z" I  w& ^语法如下:
; K- I8 x5 g/ p3 s/ J" i0 Sswitch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; } 3 Z1 m1 L1 R% x' O5 u
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。
6 w' U/ S5 t. J
0 ]; d, D7 W- ^/ }  u( U<?php : I9 `' U8 i. o% n  T$ I1 `
switch ( date ( "D" )) {
8 s  s2 m+ G, J, R: q; D$ r7 Ycase "Mon" :
) {! m- I# I0 n. ?echo "今天星期一
" ;
6 D3 k; }, k# kbreak; % M( v: S6 b6 m4 [0 a
case "Tue" : 2 f( p1 W1 J3 J' j, b1 b5 k
echo "今天星期二
" ; 5 E4 m8 M3 G$ ]- F: q/ ~+ q
break;
2 i4 n) o& n8 @$ b5 y8 F# ]case "Wed" : ; F1 z8 k7 ^4 q  w" o( S
echo "今天星期三
" ;
$ j+ X" s' O' z/ f2 E5 o. Kbreak; ( Q* h& z3 O4 N$ u" r7 O
case "Thu" : ; P, r7 S8 z  g$ b8 U8 m8 `% R
echo "今天星期四
" ; 3 @! k1 E5 M2 J/ R0 h2 I8 q: H! q, R7 s
break; , o6 p: A6 y' v5 e8 U
case "Fri" : ) y/ l, C$ C9 B0 B
echo "今天星期五
" ;
. R4 X* u! R! t! l0 `# W- `) S  {4 Ibreak;
8 z3 v# \- g, o, |/ U' n3 Ddefault:
4 b/ F/ N$ x0 p3 A' [echo "今天放假
" ; " X' v! P  a' j# _
break; 6 n% h" ~" f3 E/ r8 ~5 l/ s! y6 z
} 6 \) L2 [+ a" K7 [, r2 b
?>
1 a( a( G% g+ W" j0 B- L# L/ j' U( y这里需要注意的是break;别遗漏了,default,省略是可以的。

. s8 |# `4 Z  J- _, a4 A0 C6 _" ~1 E很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

6 P& j2 ]; q, a+ w' w/ @# e" b十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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