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

十天学会php之第二天

php的流程控制
, Z+ ?7 [% Q8 s  D# |/ L+ M  A  j1 Y* K) A- e
1if……else 循环有三种结构
5 D" G" C' A0 R! b& g0 Q
第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: . Q+ d3 n" g/ L8 m1 P

# h# c, P8 f) R9 L3 ^) Kif (a) { statement }
7 D  r* `, V/ [, ?* Q; J' B其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
, k0 l$ ^& A# c0 p2 b5 W
范例:本例省略大括号。
& Y2 B' {. m, R5 u: {# A' `" x

1 w7 s7 {4 u" n# Z* D<?php
* p2 u$ `7 w/ }if ($a==1) echo "我爱
php" ;
1 m) C) S$ U9 a6 @! v# D9 k6 n; N?>
! F$ @; Q. @9 P% J+ O( ^" ]' x5 r. F9 n1 |( T, I) C
这里特别注意的是,判断是否相等是==而不是=

8 [2 @, X5 Z3 v, k' O' Z9 s范例:本例的执行部分有三行,不可省略大括号。

2 c2 j0 O4 G8 E+ Z; T% v7 M* E0 ^( O# X* g3 ^1 y$ Q
<?php
& c& a$ D% B; R! pif ($a==1) { 2 ~9 _4 X8 q* X$ S* [
echo "我爱
php" ;
2 l7 [7 t  ^% q8 eecho "<br>" ;
. F1 d1 g+ F4 [) B) Y) n, L}
+ ?" ?3 h8 U8 `?>
$ a( N0 H. ]4 @% Q9 `/ a" W4 z6 o8 T0 S5 K9 o7 ^8 E
第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:

- B. G7 p* ~. e6 V% O
7 p# A2 b) @2 y) v0 Yif (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
6 B4 a3 K8 U1 ?7 d. @
<?php
# I  e8 e( h8 C; w1 Y7 b+ ~3 ~  ~if ($a==1) {
. A8 O* I$ W( s: z/ q; b, Becho "我爱
php1";
  a2 |: Y3 a% Necho "<br>";
# }; r& j2 A' J6 H6 D- v} 3 v! b& o8 {2 \6 w/ {
else {+ q1 s' m  o7 K
echo "我爱
php2";
/ x. N7 t. F8 U1 Gecho "<br>";
, ~2 W! r2 m8 N4 `5 t- Z4 E8 i}
5 J. V0 U9 ^4 }2 C4 O9 m' ?& e+ h?>
/ ^; C( e5 ]* v" z+ Q1 P6 J: W
2 Z1 _& t$ |+ \3 |第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。
) o+ o  b* l4 F0 v
直接看下面的例子
1 P' G, |% J8 ]
<?php
/ g+ M7 {4 Q! n' T; jif ( $a > $b ) {
$ k& E7 w- k  K1 K- _. necho "a b
" ; 2 R, f2 \8 ~% V
} elseif ( $a == $b ) {
, r, c) i% @& r! k* Eecho "a 等于
b" ;
7 x) ~) U& X# k} else { ) j9 A. t6 F! Z' b  L
echo "a b
" ;
/ \0 L2 T' `1 [9 @}
% i5 y  G. @, s# @$ y. Z, Y?> 8 a7 C$ s* b. d! z5 A8 I# p" Q
+ h+ j: g& D0 }! f# Y" ]! s
2for循环就单纯只有一种,没有变化,它的语法如下
0 E0 n0 n9 l* `: T$ |
! q9 N, m3 c7 |
for (a; b; c) { statement } 0 X& G  W+ E" x# L
其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
/ w9 [+ w- m; ]: I
下例是用 for 循环写的的例子。
+ h3 c* W" d+ I  u
<?php
7 |8 u& Z. J0 ~* ~for ( $i = 1 ; $i <= 10 ; $i++ ) {
) L4 ^9 g* t: I6 w0 {echo "这是第".$i."次循环
<br>" ;   k% b! T9 F% U. F
} % B6 W+ m1 R! f' I, |
?> ' m/ n# [* b/ ^" C) S) u

6 ^& H5 \1 y. D1 A* ], R3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。
9 x7 b0 |5 V- o% ?
语法如下:
1 [4 k, Y6 [$ k- U/ D$ v; Cswitch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; }
$ o" h3 x, }  b+ a* j9 P
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。
* N( Q8 U* D+ ~. c! _' ]1 y* ]+ c+ v7 h3 J# y$ N. z* H+ e
<?php ! P7 n8 Y. J5 Y1 H" D  f
switch ( date ( "D" )) {   a' s5 `, j0 f- g# j. p
case "Mon" : % M2 c: i4 M, X. y2 `
echo "今天星期一
" ;
9 t- ^1 z7 W1 J$ M( o9 ~/ Qbreak; 8 e4 ?# ?' ~1 Y
case "Tue" :
8 @4 |4 Q9 _/ H& Xecho "今天星期二
" ;
  z4 Y( h/ F6 C9 X- M' ~break;
: N3 C1 O: y9 Gcase "Wed" :
  \+ U5 o$ {; r* M6 Fecho "今天星期三
" ;
1 E+ {; c4 c( g  Obreak;
% D4 `( k- N- r' ^3 b/ s! Acase "Thu" : ' s" p' O3 H; c# G7 I( O3 F0 v: |" \
echo "今天星期四
" ;
9 j. z) B7 A, c7 F3 I' i2 o3 q  ^  u1 ~; Wbreak;
5 d# H  s. a# C$ qcase "Fri" :
+ L- T2 u" C. {3 e# y5 Iecho "今天星期五
" ; : z& |' P0 h- Q$ g, _- e7 s
break; 5 @5 K- a5 h1 Q1 O6 B  J* w
default:
, O3 ?, A" O$ K9 x; necho "今天放假
" ; ' x, Q5 a- ^7 S2 `% y5 `
break;
6 F& y% ]8 ^& }}
5 i; A- r2 j5 s* Y$ \0 h?> ; b) h- j8 L" E! w* I
这里需要注意的是break;别遗漏了,default,省略是可以的。

* A% |: q3 ]/ k( {2 k很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

& e7 v1 m( `$ ~; [4 h3 e十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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