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

十天学会php之第二天

php的流程控制
; ?% y+ p4 }) ?: ~: {# {( o) O5 ^) D7 k# I6 s
1if……else 循环有三种结构
4 c: T6 B' @* t& g* u+ Q
第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下:
1 f+ a2 V* D6 |6 v
/ M, W7 W( o2 v; N% Gif (a) { statement }
: |/ T* [2 U4 C其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
1 `# J% X- p9 D, D4 L
范例:本例省略大括号。

) @; N4 p9 y# `* |* u5 t! P! O$ y, u! q) q
<?php 7 ~( r2 ], _' Y$ d
if ($a==1) echo "我爱
php" ; / ?" T3 l& I' Z  V( q
?>
3 ?2 d1 E$ C9 B, z8 f
+ e6 E' u7 B: L0 _3 U* t这里特别注意的是,判断是否相等是==而不是=
! h: a1 y9 A2 H7 _2 _. q+ |
范例:本例的执行部分有三行,不可省略大括号。

! G, n" o8 Y7 E* C$ B1 M6 I; R7 l5 g; B( c! Z* W6 n; Z2 D# l
<?php , K2 _7 s) y$ ?* W" h
if ($a==1) { - b* l7 u( E+ ]+ p$ R
echo "我爱
php" ;
3 B; [3 ]: T, I1 }echo "<br>" ; 6 t4 ]8 ]- G# O1 }' ~
}
% P5 T5 P9 c* G2 M?> ' w+ `8 f# w, \$ Y1 A
; D' {) {/ C$ T
第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
. b: `/ @6 L0 f) g* l5 e7 f
1 u; F0 ]7 `' C1 {  F# D) x
if (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。

! J  \6 l# K: f3 k2 }<?php ! r4 H& ?/ N4 |
if ($a==1) {
/ f5 ]& _( J% w7 D3 a! oecho "我爱
php1";
) H* }& u. o8 M) M/ Q0 necho "<br>";
& C3 @) C8 d- J}
8 v- o2 b! |5 n* i' H7 h. delse {- ^# @9 s) W* y7 |0 F% `& X- c% Q, u" A7 J
echo "我爱
php2";
7 Z  ], F9 Z! @* M5 C) p* pecho "<br>";
. n: d5 g; }4 w} 9 L: q% v; \' h) I5 o+ w: A
?> ! {: K( l# M7 c$ i! Z4 P5 U
7 J4 u/ c8 w* z5 J: {9 y3 @9 Q
第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。

; I. T. P1 X% f( T/ l' R1 g直接看下面的例子
" Q9 q, I6 L' s& `8 e$ M
<?php
7 N) @6 g$ u; U' ~if ( $a > $b ) {
- V/ |* U+ }4 \+ Y, W4 _echo "a b
" ;
1 D* G& ]4 s* t6 z& W} elseif ( $a == $b ) { 7 k) {  B9 ?6 F& o9 S" u( B
echo "a 等于
b" ; 8 W2 e6 v; b5 c' I
} else {
  H5 {: k7 S$ t/ y+ A! J; {7 {' S, _echo "a b
" ; 1 w( Y5 v8 [! l' e8 g
} ; a5 R- Z# h/ \' {" ?$ Z# F9 p
?>
2 [% O2 P) O+ ], R% ~
* l. {/ t- D/ D2for循环就单纯只有一种,没有变化,它的语法如下
9 p9 \# [/ `) i: H; s
3 A- {3 s; Y1 Q( F% w
for (a; b; c) { statement }
0 O5 ^1 y1 I9 H* a5 M其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

4 u) N. T# I% Y  A下例是用 for 循环写的的例子。
" F3 q- i6 P" F0 }/ c8 p- V* C
<?php
% K& |8 l4 e) J0 Q: n/ F7 W) y  l: h) j3 ]for ( $i = 1 ; $i <= 10 ; $i++ ) {
) Y% A" b4 o6 P7 H. @: u9 z$ @echo "这是第".$i."次循环
<br>" ; , z$ X7 ?' U) g0 @$ ^$ Y
}
* {, G+ h9 G/ M) n  Z9 k. v+ ~?> 9 O0 B/ I4 E2 D! Q) z
6 Z$ g: v5 L8 M  ]2 K, e7 G
3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。
4 F" z2 B5 y6 l9 S) j4 ~, l* f
语法如下:
$ D8 j  y' u; b! d, J* cswitch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; } # F7 Q4 o5 [% X( J; u3 J
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。
7 t9 u+ R- C1 `0 T7 F* t
5 ~) ~- Z2 |2 f; j3 J<?php
3 T3 _# O0 G' @) S* kswitch ( date ( "D" )) {
+ @/ Y5 l; q) K$ i0 o* Rcase "Mon" :
3 W8 M4 S9 j6 \; o6 ~echo "今天星期一
" ;
# r1 |; A( G8 _" Dbreak; 9 }# }) y/ f9 p+ [+ k
case "Tue" :
" L. x2 @. T- H- }# o5 P; T3 uecho "今天星期二
" ; & E( k6 ^$ ]% z; W( i# z
break; ( A  |9 z7 Q8 E9 c7 N
case "Wed" :
! @/ B) c! k5 K9 Yecho "今天星期三
" ; : K; r" s3 U7 Y
break;
. H, t; j; g, j& w% f' |0 `case "Thu" :
. b7 t5 t/ |) P# `2 P$ U/ Gecho "今天星期四
" ; 1 r2 J5 F' ^/ Z1 N1 I
break;
& [# D$ _8 h' Icase "Fri" : 0 q9 {2 U# q7 c1 i- D& y& U
echo "今天星期五
" ;
$ O5 g3 f+ t2 R- d$ zbreak;
, k7 E( h3 G* [default: ( p  l: E# J) r$ E' f
echo "今天放假
" ;
* c1 |4 t# c3 A: Jbreak; 6 e9 V. {) z. E0 O- _; f
}
# a0 d1 v* D, i?> 6 l( T) g& G) T- Q+ e
这里需要注意的是break;别遗漏了,default,省略是可以的。

7 I/ A1 g/ V: [6 F" G" l6 }( f很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。
3 k! v( @$ w, w9 o
十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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