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

十天学会php之第二天

php的流程控制
9 a) E! s) t$ Y9 C- o: A
/ p1 Y- x+ C9 ]1if……else 循环有三种结构
) o. t) I' [0 m3 Q" J# R
第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: ; m$ j0 Y2 R  e. {

# C3 i! ~# X/ u$ E" iif (a) { statement } 2 J* p; Y$ k. q6 `
其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

8 c% q+ ]* _! V+ \7 _0 I范例:本例省略大括号。

5 T. S- E, A5 g
& l& O1 r4 D: u8 c<?php 1 ~( \% l# I# t( F7 Y# `
if ($a==1) echo "我爱
php" ;
5 ~* b( g, |  I8 p?>
7 L6 e5 [" ]2 |% s* z5 W% I9 E5 s- p" E6 _; ]9 d
这里特别注意的是,判断是否相等是==而不是=

/ w# ^& }3 M1 f2 a8 D2 p- R范例:本例的执行部分有三行,不可省略大括号。

7 u6 E) R8 x: J0 k  @
; `* H+ V! D2 N' n( T9 t<?php % I4 @/ A( j- S  u; I+ P
if ($a==1) { # r) \  M5 g  V3 [! d  @2 m" k
echo "我爱
php" ;
9 C7 C" D" [) x+ ^echo "<br>" ; ; N7 K; B- t! F9 U
}
2 Z4 `/ G1 {, Q% h?>
9 g9 U5 `9 i) Y' S6 {: T/ o
# d# a4 [$ M& |) o9 u9 `$ _第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
9 [+ h/ m8 [, E# n# @' ~" [2 C7 D

! ~# W4 J) m8 z: |2 _if (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。

% t# Q6 Y5 I! C0 W6 f<?php
, A# g/ c" W  nif ($a==1) {   [# p# U- Q/ d* H% T" l
echo "我爱
php1"; . ?# i9 i% V# v! Y. [1 _. V7 I$ Q8 F
echo "<br>";
- d! @7 w! y- M) O; q7 T4 b0 d} 1 `  p4 a) A/ r1 e4 w% U2 {7 P
else {
* q( v& l& U; Q8 B- l/ @1 E1 Recho "我爱
php2";0 u* j. [* \: Z2 j4 J+ y
echo "<br>"; 1 m1 H7 p* q* L& s! k% y2 a
}
( _- J8 ]3 Y) O; X# X- l?>
( Z/ f2 O1 G& d5 Y0 h& ^% h% b2 J7 w2 W8 @) N
第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。
9 B7 x4 T% N4 C+ \$ a1 F5 n
直接看下面的例子
$ |4 x1 Q, H* M$ n7 u) g" J
<?php ! a+ n5 [# V- [8 N) z/ j+ c
if ( $a > $b ) {
4 ^5 K1 g7 Z- Y% n0 R% ~echo "a b
" ;
9 _, K- g" x' Y4 Q6 O0 L} elseif ( $a == $b ) { - R$ d; ]% B! c) a
echo "a 等于
b" ;
! [1 P- ?* e& c4 Y8 _3 @' j( p% J} else {
, y$ Q3 j0 x: gecho "a b
" ;
/ N7 g$ P9 L! v: }$ {7 |" G+ ~6 o}
: R: O/ X+ ~5 p?> ! Q5 V  L$ n$ G* h" ?9 A' Q; z3 ^8 m$ W
5 H8 o" v0 N6 A. d2 [# k" m  D4 a
2for循环就单纯只有一种,没有变化,它的语法如下

8 z- \1 o( O  `6 |, V, ]9 b. m( f* T+ t# V% a
for (a; b; c) { statement }
' l9 k/ R/ [+ X! @; P3 t+ k其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

- ?+ U" @; n8 @8 B: o% u下例是用 for 循环写的的例子。
3 d- H( T  S1 ?: ^5 m! U
<?php
6 f, u7 B+ I4 T+ mfor ( $i = 1 ; $i <= 10 ; $i++ ) { / I, M; t6 O  r6 m" X
echo "这是第".$i."次循环
<br>" ;
- B7 W" j! ]- d3 |, ?}
5 i* [. S, y% k- E. g?>
' m' d  G/ q  |( d. Q3 g4 U/ Y% R( Q
3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。

4 h: @- A2 |& ]% d% }+ E. ?语法如下:8 F$ R; ?1 J/ v$ s  j
switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; } " l/ [9 y( s4 \* \# G
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。
; a4 t7 T0 V/ V, f' j
' i0 r7 X* L* X+ T; h$ I<?php
- A) ?' h. K- I3 {" nswitch ( date ( "D" )) { 3 N: k8 Z+ ~  \' k0 R
case "Mon" :
1 J% U/ B: H) F* r+ {4 Secho "今天星期一
" ;
- |. {7 {; b2 l6 S# i) Bbreak;
/ C( l. P9 F; o% acase "Tue" :
/ n$ ^( O- o5 M7 I& Recho "今天星期二
" ;
% V- e7 ?& Y4 U+ K/ Lbreak; 0 Z: v2 H+ V8 ~  M$ Q. K. ]5 Y' o
case "Wed" : ( i' K' T. @- L, m
echo "今天星期三
" ;
) x9 K1 z& a" _9 D2 G- ybreak; & \7 i: H3 C( o: {6 f4 ?- Z7 g2 [; U
case "Thu" : + _& R0 c) Q" H& n5 y' L
echo "今天星期四
" ; : P) C. x) Q( S* f
break;
. S1 J; b. C: R0 fcase "Fri" : $ F. j( D$ \7 l! V+ k8 X7 C* f
echo "今天星期五
" ; ! O& B2 N) ~' h: {
break; 4 j5 Q- e7 f. N" X' V: Q/ Y# F( J
default: 0 F5 o7 H& i0 [0 s- M- K
echo "今天放假
" ; : {9 m: X( y5 a4 K' ]0 q
break; & f- b' d2 `  N8 g! u( B2 w
} % r9 [* `- ]0 U1 n. x, C" G2 l# {
?> ' F3 q" U3 I$ `: `! `
这里需要注意的是break;别遗漏了,default,省略是可以的。
8 d- ]9 h! l( H3 V/ w" n9 {  |
很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

' F2 q1 d% @1 t; h3 |- q  {0 [十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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