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

十天学会php之第二天

php的流程控制 2 c, O* G' ?- Y
2 o, z+ J1 R9 v$ y! s
1if……else 循环有三种结构

6 y: V) @% ~4 m" U9 l第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: 0 Q( P7 ]7 Y+ w4 h

( I4 c( u' u3 cif (a) { statement }
! j. H) l1 P" [( K" j其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

  |# c4 D6 S/ g1 A范例:本例省略大括号。

2 H* y7 A+ }3 i1 q7 }
) ]( z4 `& a( M- w+ \6 V<?php
) @# ?* u2 o# q% F, d5 kif ($a==1) echo "我爱
php" ; 2 B  G6 t- E# o2 m7 b. [
?>
. J0 m( y! K' X) _2 X! b
% g1 O' E7 m: {这里特别注意的是,判断是否相等是==而不是=

" M  `* ~- P7 V2 `' h$ ?范例:本例的执行部分有三行,不可省略大括号。
" s) v/ N9 @6 X3 i
/ w/ `+ o/ r# T3 i( x! L# Q9 x5 Q
<?php
, l0 D) B4 q7 Aif ($a==1) { 5 J6 h+ o) `8 z  @1 e$ \
echo "我爱
php" ; + d8 c6 {0 z9 n/ g/ O6 [) g" s7 }
echo "<br>" ;
6 Q! V& ~+ m6 N3 m" u+ |1 ?2 C. Q}
$ [( c, x4 w; o5 a?>
+ C- e. G$ |4 j; A& Q$ J* P) F2 [8 w. D1 N' b
第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:

+ Q: I$ a! W' K; s% \9 J8 s
' ?+ B8 {5 K& q9 c: \# T. mif (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
7 t4 }! F) ~7 a+ s1 J
<?php
8 w# `7 w& l' h$ T9 wif ($a==1) {
. U) Z4 ^( G3 gecho "我爱
php1";
6 B9 U( I' N! p+ Yecho "<br>";
( u# b( ~4 \, P+ t}
' J8 E" i, _" t, nelse {
! _% N4 V9 r4 Y6 decho "我爱
php2";
8 E" p) ^" B* g) N+ l3 s5 Y& becho "<br>"; * N) v) \1 O2 w+ u- j
} ! ~7 j+ w* ]: I1 N
?>
! ~0 }! W4 O2 m8 d. J* f0 [
, {, V( G3 O* c; W9 c第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。
  S4 P0 I0 x' c* K) H/ m
直接看下面的例子
, W! T) m4 g8 l% X
<?php
9 ^6 B( k9 j4 F) `4 qif ( $a > $b ) { ; N2 e* X4 C/ F& w
echo "a b
" ; 3 t" V7 Z- w! b  y. y
} elseif ( $a == $b ) { 9 v! c6 @) B$ C' X
echo "a 等于
b" ; ' l! I3 C& l  p  p
} else { " m3 x3 g  \. o8 ]( N- U
echo "a b
" ; : |% q6 ~/ I: Z  }9 c  ]
} * ?# f4 D& ~7 M- m
?>   f; e8 ?# l% N8 v4 X% ], J& e$ E

$ P3 G$ v( z8 T# |. ~1 r2for循环就单纯只有一种,没有变化,它的语法如下
8 x& h2 e' \- D8 {, [8 r

! `  x: e& U$ Y& T) i% @for (a; b; c) { statement } , U  r9 D" x& }, H; w
其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

4 O, D& c/ A# e5 h下例是用 for 循环写的的例子。

/ C8 ~7 j! T+ k. o! [8 T<?php
( D, I0 `* \. q2 Zfor ( $i = 1 ; $i <= 10 ; $i++ ) {
, _( q" o4 z  A$ h; @echo "这是第".$i."次循环
<br>" ; & ~' V6 e* g8 n7 }9 p3 x3 n0 C
}
2 ^2 s8 F' a# V4 j?> 8 O1 p: f. j( M& I$ U: Q" B
( G% \/ S6 e: S( j" W# b* b0 B
3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。

% x5 J+ `6 B: `% H语法如下:
$ p. x3 ]; y" u* d: v! k  ]switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; } 5 V$ t% u& y- X8 o( y5 A' [
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。 9 H8 R* G6 ^/ N( C
& m8 Y9 |( S% a$ w( \
<?php
! `2 s, u8 @7 t0 m- nswitch ( date ( "D" )) {
. t8 g  j7 W5 V) p/ s+ Ycase "Mon" :
1 ~' A& x0 k' u. W1 M5 S, Zecho "今天星期一
" ;
: g* @: Q1 {* f% xbreak;
- n! {/ s: Z. ?# zcase "Tue" : " X2 ]5 ]& `  i& _9 Q
echo "今天星期二
" ; 9 Z- ]8 W4 n% W, O/ q- a
break;
/ B8 p1 ^: {4 x% g  c. {! {case "Wed" : ; Z! n% g3 O% @$ v* y
echo "今天星期三
" ; , d( g$ T& w! V* d- B! n$ s. k
break;
/ z; E! |! @# `case "Thu" : 9 M. A9 ]  f; {- E& r- x8 ^
echo "今天星期四
" ;
; M1 h8 m  K7 \. S! U* W4 jbreak;
1 J3 z! v$ E9 g2 f6 dcase "Fri" :
6 {4 Q! q, ^4 t0 uecho "今天星期五
" ;
/ f' }& t2 W6 d% jbreak; 8 T2 h7 h4 m. j7 ]
default: $ N: \: t9 r: h/ @. x8 a7 E
echo "今天放假
" ;
! |/ |9 Q- o' O* Fbreak;
- [; I. M1 X4 q! i4 Q0 Y) b} . A/ u! q3 I0 ~; k( m3 B
?> + E2 ?* v. A0 E) ?7 Z- T1 r
这里需要注意的是break;别遗漏了,default,省略是可以的。
# a% T( z8 Y; M. H& G
很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。
7 c0 G1 f7 {% v) g$ ?
十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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