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

十天学会php之第二天

php的流程控制 : v/ M% U5 V; C
+ U; m- l# W7 [7 c: y& e6 v% P/ h
1if……else 循环有三种结构
" O( z9 e# Z: [' K$ {* W- U; i
第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: ( t# {. N% n1 L

. H7 w: j( ^4 ?7 \if (a) { statement }
# U) L" g$ Q  U0 S( I; \& w其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

: K4 S( w0 n. Q范例:本例省略大括号。
3 v* r* A. ?8 h# b
8 O" [7 [2 p: z0 f; G
<?php , |# m1 n; ^- N- R& a
if ($a==1) echo "我爱
php" ;
# t% S" t: ~2 R; `8 q/ ?7 b?> ( E* d( d. h' z3 V# @) r9 a: ~( \. H& b3 D

! Q2 L& c- Y# o这里特别注意的是,判断是否相等是==而不是=
! p* S: e' t8 S% N
范例:本例的执行部分有三行,不可省略大括号。

& \  i* b+ d3 h3 z1 }4 r7 H& {1 J5 Z" T  {3 V9 G1 X
<?php
$ d+ f. f% R0 p0 mif ($a==1) { ) f; v+ C0 K& |$ V0 L3 i
echo "我爱
php" ; % P, h2 B2 l7 v4 e
echo "<br>" ;
( Y: r0 H& s7 X. M" p} 6 M/ e1 N7 Q5 b
?> 5 M3 i# \# T$ e; `  s* D# }
$ u/ f' ?; Z& ^  B1 D! W# s( Z6 J/ e
第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:

1 `( [3 z. q2 W- c3 I. Q% K, s- K3 e/ M, @3 K* N  r
if (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
% v2 w) a) o2 ~7 N! N
<?php
7 b* t3 p$ N5 e/ w3 J. ]if ($a==1) { " L9 ~: Y! `3 c' G! P8 z
echo "我爱
php1"; . n7 T4 t. {3 r& p4 b, r
echo "<br>";2 N- Y$ q# {' ~1 d% c4 e6 M& E/ {
}
  x2 z5 {4 S" V- a1 \" q( velse {% g! Y% A# e, m0 V
echo "我爱
php2";6 {9 T* m( g8 h! z7 i9 q
echo "<br>"; ! ^0 C$ c/ e( n' ~/ J& T
} ( T0 e# ?3 ?: p6 [+ q+ W  _4 k; H
?> " A0 j8 k4 L. W( `

! @" m( Y* }  Y2 L第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。
: b: }+ ~5 D1 b# O) l% J
直接看下面的例子

6 U& i! W3 S' M  C<?php ; N$ K6 p7 [3 \0 b7 q
if ( $a > $b ) { 3 c* z/ V9 O5 w4 j" F$ s
echo "a b
" ;
/ s' I- q9 X- X5 O1 i} elseif ( $a == $b ) {
2 h% T+ g/ ^  M- k- u! x2 q: q/ mecho "a 等于
b" ;
9 P9 b, J' b  ~} else { - x+ K3 I, w& ?7 ]2 d
echo "a b
" ; . \* k+ _* U- a
} 3 C2 Y0 W& {5 C3 g( U1 t
?>
" ?2 s- n0 x0 _  q( z8 t6 E, p3 R
2for循环就单纯只有一种,没有变化,它的语法如下
8 O1 W  x/ Q& O- B0 p
) S2 v3 X8 k# Y$ B3 N
for (a; b; c) { statement } 5 {) ^' i+ h4 ]8 n+ K
其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

  t7 t0 E- G: D2 V: h- H下例是用 for 循环写的的例子。

. A, X5 |  I; R. q<?php
8 O  T' E1 M( g3 ufor ( $i = 1 ; $i <= 10 ; $i++ ) {
- f9 \1 Y( u* P" I' Kecho "这是第".$i."次循环
<br>" ; 0 V/ O% I% v* d: n
} ! f( g: C6 x; A$ A6 q* e
?>
6 r! }* l& s7 m  k
0 V0 D1 k% Y9 I2 Y% P' H& ?3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。
# |' i' q5 X+ I/ K! W
语法如下:
3 V; W0 Q( D  g( {9 A% }; @switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; } - r% A( l5 e& {" B8 C5 l5 o. Y" }
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。 ) }2 f+ b' ~' m1 k

# m) F7 V3 h" ~% v" d  |<?php 9 i" a& d6 X& a7 l; r8 {4 e
switch ( date ( "D" )) { 9 T1 O% g) v6 a! Q6 H
case "Mon" : ) d' Q: }$ z( r) S/ i7 ?6 m; D
echo "今天星期一
" ; 3 U0 @& [1 }- m5 E
break;
8 C/ ^% S' }9 u2 p( y; Acase "Tue" : 1 V$ |1 m5 h% `7 B
echo "今天星期二
" ; 0 m8 e; M  ?' l0 e5 m' ~4 E
break; # G, s+ l4 S' d2 Q# N. G
case "Wed" : ( D" j+ L- p; T! a$ o, [
echo "今天星期三
" ;
1 |8 u) ~+ h# Nbreak;
4 H$ H1 _$ L2 R+ hcase "Thu" :
: T3 B9 r0 S! a* z: Zecho "今天星期四
" ;
' {& ^" O& x! w" T* g& }break; / r7 l/ R, `1 p4 B! v
case "Fri" :
9 b9 {2 u# u6 H9 i+ m7 pecho "今天星期五
" ; 0 X& Z/ ^6 q$ H, Y" Q. t
break;
3 E$ a4 i# L6 \4 V' p: {: bdefault: / B% L8 L- q+ h: q# h4 @$ e$ N: G
echo "今天放假
" ;
; J: R, D) y' P  C( Y# u2 P( kbreak; + v' M9 S# M, v0 B$ N6 I3 [* T
}
$ I  U0 H* ^5 [0 `5 w  z?> . |; h& H' B; g$ o8 A
这里需要注意的是break;别遗漏了,default,省略是可以的。
* y9 p2 B: ]/ h5 y2 }9 \) s/ i& Z
很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。
2 z; E$ e- Z6 z- {& l
十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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