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

十天学会php之第二天

php的流程控制   j( A5 n0 c0 F

* i. X8 j7 Q5 h" I& G9 `6 l! I+ _1if……else 循环有三种结构

& N! H$ h" }2 o: X5 [( I第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: ' g4 k: c$ |; Z6 F2 J

9 ~9 H: \9 b: d0 D  j+ Sif (a) { statement }
6 y1 H: G, o* n+ Z其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
: o7 ~, X7 i( r/ q9 f
范例:本例省略大括号。
: L4 y% x# N" _, }$ P
( V3 V: n" U  Q4 Z
<?php 8 L2 o/ F+ a" X  R
if ($a==1) echo "我爱
php" ; 2 J/ k  h+ w' Z" s" N
?>
, C- O- R5 C2 n  O! U
; |6 G9 ^, P# {" ~; ?( b  w这里特别注意的是,判断是否相等是==而不是=

, h: P: M  u9 n: i8 ?8 w9 c范例:本例的执行部分有三行,不可省略大括号。
/ _# Q0 u3 B; X

7 C* w1 D" x3 y' C; }<?php
3 v  g# y* ^3 A0 w) @; Cif ($a==1) { : L" I$ i8 [2 z  w, F
echo "我爱
php" ;
9 s$ I0 g1 E, G" z2 p: G! Necho "<br>" ; * z* Z) q% @8 v) H' q' J1 n
}
; {7 J3 T( e1 \: d0 |?>
: p+ y6 z) |* L1 g& |, |% M" W1 \# j3 u. k8 X, D" Z9 `
第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:

$ J7 x% X/ G4 R4 R# H& h( {# ?  t
if (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。

7 u* }7 V+ o3 C7 o7 ^<?php
5 L, e3 @" q+ l+ h2 e0 Y) `if ($a==1) { " f0 R8 h3 C. Z" I. `4 v$ _
echo "我爱
php1";
  N' m5 m; t4 recho "<br>";
, }  c, ?! F* [- f* Q& O} , S, l* q$ J! ]2 e, ]- D
else {
8 o* D( M6 X% n# c9 Wecho "我爱
php2";) S; i1 a  |0 F% C# F0 A+ `) e
echo "<br>";
8 C+ j& {: J0 H} 7 k8 \& _# Y. r$ e. r" \
?> 8 x6 u3 m: H3 O/ x% r3 o( p8 `0 _

2 A& ^" A7 s8 O, S8 w: j  t第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。

  R- P+ }. p- Z8 L; b+ y1 o直接看下面的例子

0 v0 J9 u# f: ?3 F3 O<?php 0 I; C9 u: I# e' s) k) m# v/ H
if ( $a > $b ) { & Z7 h3 W# V( l1 L( y$ Y
echo "a b
" ; ! r+ Z& R4 C( a
} elseif ( $a == $b ) { 0 s: k; @; M- @4 v) `- Q# p0 U
echo "a 等于
b" ;
8 J: X' e) h7 g& V} else { & v% `, X6 ~  {
echo "a b
" ;
8 B$ N: b4 L) T0 [7 x1 t2 ?} . F" T! v2 ]+ ~" f* ?
?> ' U+ r2 \# D3 ?9 X& s
: _. L- `  o+ P; u+ G1 E
2for循环就单纯只有一种,没有变化,它的语法如下
: I; e- L& ]7 z* {3 @$ Y, h) `: ]/ e! A

3 O9 U( |5 I6 w1 [0 Cfor (a; b; c) { statement } 7 w. F1 k! n8 D, @  ^* i( F: a
其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

  V6 O5 E: W, I9 h$ M4 H下例是用 for 循环写的的例子。

* b3 U6 f/ O& N/ i% Z/ Z$ ~1 G; }3 l8 V$ q<?php
  `: B# M0 Q! C1 D: i, ?for ( $i = 1 ; $i <= 10 ; $i++ ) { 9 H" F) v, I* F1 l/ B
echo "这是第".$i."次循环
<br>" ;   `. i& Q' J/ P0 g
}
% o( t; a, t2 s, \$ {2 L6 G4 o?> , {; R4 ]" Z* N) m% x0 c- E* ?

. ?4 |# y2 D$ X7 g( \3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。

' t( J" Q. e$ J. j! x! {. U/ Z语法如下:
/ h2 |9 V  {+ @8 pswitch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; }
2 ^# R; T3 s! {0 Z
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。 7 K, T, x$ a5 ~6 i5 p* T  H) W( K2 G

- t7 o1 _: y/ L8 {6 `<?php - K1 G, g% A  C- ]% h+ T
switch ( date ( "D" )) {
* V8 _9 U* B& P! Vcase "Mon" :
0 H) N% Q! ^# [echo "今天星期一
" ; 8 {. ^" A; {; w$ e) @/ k
break; / g) x7 T- \; G; F+ M5 b& c
case "Tue" : % T* }: C- w4 ]$ S3 K$ X1 O9 k. F
echo "今天星期二
" ;
' ]2 ]% ^( w; J, o8 d2 X! p4 ~break;
1 s; R% s! x8 r$ J/ \case "Wed" : 8 G* V' y+ o9 b+ ~
echo "今天星期三
" ; 3 b; M$ k' i, h9 u! }0 p" {
break; , O& |) k; C& e
case "Thu" : * c* @; M6 C* X% d6 c# L( X& S
echo "今天星期四
" ; $ m  V, s. M% r
break;
/ E1 X6 q- L0 ?9 f7 Z+ O6 R. jcase "Fri" : % j) {, e4 E* M$ ^3 I' i$ d! D
echo "今天星期五
" ; + U$ j+ u6 \, a+ Z
break; # R* X. m: `( _# b
default:
& J" }( E, Q8 u( K, qecho "今天放假
" ; 6 m: ?8 P, E1 ]& D4 d' `- V1 W
break;
/ }( }6 u; R" x3 V4 x} 3 ^2 x4 I9 C+ m) a$ E  v8 e
?> 7 o7 l- E) Z) }- H: L) r
这里需要注意的是break;别遗漏了,default,省略是可以的。
! M3 n' i3 c; _6 d
很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

4 e7 \# k6 ]1 H: e" ]! O) u十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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