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

十天学会php之第二天

php的流程控制 # p- i8 r' \* H4 a+ C% R
+ n) L( J- {6 n* Q/ Q9 }
1if……else 循环有三种结构

/ M: g' J, c* a6 V6 e第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: 5 j6 ]7 {. d* V" q
6 ~% ^3 j- N8 `* Y9 F& S' U
if (a) { statement } 1 S7 `: k/ K* u0 h$ I  s
其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

9 M3 \( X  v" A6 Q5 Y! g" e9 r2 x范例:本例省略大括号。
: E9 v- {- B2 X# V

3 ~/ U7 N9 d5 c. x' F& U<?php
" O& Q9 J, d% Gif ($a==1) echo "我爱
php" ;
! L, E- e9 w3 G4 d: P?>
+ ^+ d+ Y& {, q1 ]" W
: Z  ?: X& b3 q, R) ]6 ^这里特别注意的是,判断是否相等是==而不是=
6 k: f0 N! ~) ?) a* z3 D7 {
范例:本例的执行部分有三行,不可省略大括号。

! m* J9 o# A6 i& q* p; W) y, B7 h+ e( a: F, y8 u
<?php
& U. Z+ U5 q$ D$ Pif ($a==1) { 5 B9 ^) h( j# G/ f. q3 Y
echo "我爱
php" ; 6 {) U" O: S' d8 a5 u
echo "<br>" ;
/ W7 \7 u7 T/ x5 x} " ^7 S" t& V, e8 v1 a; r; N
?> 6 ?3 Q7 v" x9 h3 W" \; i2 z
7 d  ]# m3 L. I" `! ?! c4 j
第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:

: _* R. ~* _3 h1 h7 `( }3 @8 [! k4 H; E2 q2 J; e6 r+ @+ r) c0 [1 _# [
if (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
! T# S8 E% n* G) ?8 @
<?php / J* ~  O% G9 H2 k
if ($a==1) {
& B. Z3 c, N5 `  Techo "我爱
php1"; 5 {2 m' C* R/ [( P' A1 V
echo "<br>";7 I! M! T0 C7 s- [( m$ }
}
9 S+ u0 ]) j% t; ?# D8 D6 Ielse {8 W) d5 {5 u/ G/ J
echo "我爱
php2";
0 R6 a0 L  T7 e, C, i* T* n5 \+ A* Xecho "<br>";
$ r4 m8 K0 A% l  d) ]}
3 o3 p/ S, n: s+ a' d?> : F* U# `: u: N9 F1 F

+ R" x" F; B" ^0 O- ~% L$ c4 F3 w第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。
2 A5 L6 P% n7 `
直接看下面的例子
9 j& ~2 v! l5 ]
<?php
7 A  F& Q5 t- y" ?* }if ( $a > $b ) {
0 r+ f/ C. l. g% n: necho "a b
" ;
4 j' F$ h: U% a8 K4 L" |} elseif ( $a == $b ) {
+ k# ~# G, h2 F# m, decho "a 等于
b" ;
7 c/ @( _6 R6 m8 b7 R} else {
1 {6 W5 ]% [! _  A6 becho "a b
" ;
% x6 I1 X+ Z- i7 Q" ]9 n2 ^6 \} 4 j& P' L9 N/ I( y
?> , ~; E7 g( H3 e4 a) O

/ K2 @; w# L6 R; B8 C2 ?( q2for循环就单纯只有一种,没有变化,它的语法如下
4 @6 l% x5 g- s4 |/ ^

6 r0 I+ c0 f& v5 m# F5 Wfor (a; b; c) { statement }
: b1 z6 d( V& J* l其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

% z& w% V' l! Q, h! }2 h* z下例是用 for 循环写的的例子。

/ ^" `! O3 o6 j6 h: U$ H2 I<?php
% Y& R% Y! W5 m2 O) F/ B9 O* w$ Sfor ( $i = 1 ; $i <= 10 ; $i++ ) {
0 L* C: {+ H- g5 e; e# y: ^# `1 Techo "这是第".$i."次循环
<br>" ;
" s" k& a3 m& S. W/ c* n) @# @2 T}
1 P) {9 j1 L5 D?>
4 Z, D; `  H2 ?, U& K1 ]- m( {2 `; v  s' X5 M
3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。

& |6 Y5 k( [/ b: P3 o语法如下:3 K; M  p' O5 N
switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; }
5 u$ n5 N- \5 D
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。 ' _0 j7 u  r+ K' T) _) ~+ s6 l: ~
0 I3 v" k! x" E6 I. m; D
<?php ' o' i/ g  l1 m. Y" R
switch ( date ( "D" )) {
, \6 C/ L  }0 {; `. X5 Acase "Mon" :
* W3 z/ Q* f* i, P' Fecho "今天星期一
" ;
# `1 d( c+ S2 B1 qbreak; ; I& n& K2 a8 l: d
case "Tue" : * z7 ]) f5 ^9 b; [& `1 y
echo "今天星期二
" ;
" m1 V1 I; x; F1 Z3 wbreak; - {. p1 F' H. S& R# ]1 _- P
case "Wed" :
, f$ j1 j1 f: A0 y( q9 Z7 _echo "今天星期三
" ;
1 u1 @! [/ X2 ybreak;
: a+ F; r& o  K! q" @case "Thu" : 1 y- C( b# `* c; D0 o; P0 e4 Z
echo "今天星期四
" ;
7 \  P, b9 n$ d- Y7 }! \break;
5 a: q2 V: `8 x) ^1 s! P: r8 a7 I, Kcase "Fri" :
1 f5 Y$ V' _/ Y. techo "今天星期五
" ;
% `2 K% J+ G5 o2 @8 M& Vbreak; & h, D* N9 E+ p' M/ W
default: . E  I" y& X: j. o/ w- D4 `* w+ e$ _
echo "今天放假
" ; 3 S1 Q9 N4 n% J* }
break;
' n! e! e/ W- j# N}
: \9 B" c) n" i8 W3 x% Z?> - Q$ w. Q( L, d$ A
这里需要注意的是break;别遗漏了,default,省略是可以的。

1 k# d& |8 v7 x6 U# [很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

* J6 [9 Q. R4 _! A十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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