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

十天学会php之第二天

php的流程控制 * `3 j' `1 l) X% ~! w9 z

+ ?( ?$ ]+ P- |# V1if……else 循环有三种结构

7 |$ T% M  G! D第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下:
. V- U) p% z  ?; m: A$ s
& D9 P, d& m9 j6 _9 t+ Fif (a) { statement }
4 h/ t& I7 I& t7 m6 y其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
+ G* b: \6 ]7 g. X0 S+ N
范例:本例省略大括号。

- D+ F% O0 F' P4 m0 m, f* a/ T
0 m+ a5 f' a' b. Y' E0 u<?php
4 X0 G2 R* b! `" @' b  j9 dif ($a==1) echo "我爱
php" ;
3 r" ^( _8 l9 T  ]4 P* S?>
9 I; U6 e# k0 j- O: }  h% P
, _/ [- L3 J0 J2 D/ |3 [这里特别注意的是,判断是否相等是==而不是=
# X/ L8 K# s% V
范例:本例的执行部分有三行,不可省略大括号。
' f9 O5 s" m5 Y: x8 e
0 g; ?) U7 `6 @7 x& Z5 r! ~
<?php
" N5 M* ?1 r) n+ q; q3 E1 Q9 Vif ($a==1) { , X$ B; Y' v  g, u  ]
echo "我爱
php" ; 0 d( R' \' \9 \' L) F3 d5 H1 ]
echo "<br>" ; - }' |' Q  \/ e( M
}
0 o4 I* \/ b3 h/ a& ^?> 9 p+ k4 B6 P: E& \( Y4 Z- l

. C/ D* j: _1 i/ l3 I+ J/ P, v第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:

, c0 l+ Y( n% k9 E
: R* t. z1 q8 |8 y' ~$ ?3 lif (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
2 I$ ^3 I4 J  y' ?" K
<?php 3 `7 c- [4 j% X+ x! j
if ($a==1) {
' j7 ?1 Q% P6 R. Eecho "我爱
php1"; & n5 d+ o; h4 Q, m! U* c8 G
echo "<br>";; d4 E" m. l+ K, b; @
}
% A( {- ]) R! z3 T/ aelse {
- j# m# e( Z0 Mecho "我爱
php2";
7 `+ d  C& ^, r( Q# O# P, M4 }echo "<br>";
: P; z( @8 O, v" d* S8 ^} % j6 I/ V! M! H5 k
?>
" A, Z' c! v" d2 h! [8 G
/ R$ K. Z6 n* Z0 R, e8 e5 c第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。

+ m8 ]0 a! c- t( f, S直接看下面的例子

; x% r0 ~- N4 Z% V) b<?php
# y; u2 R8 N. x1 B/ r) l1 @if ( $a > $b ) {
9 @9 j0 L* p: o! H' Yecho "a b
" ; - u: A* I, @. S# y$ i6 G: T* Y. c
} elseif ( $a == $b ) { ! Q: E5 t' s7 n8 G
echo "a 等于
b" ; ' y  x5 j$ @2 i+ {+ x/ B7 E
} else { 7 u; A% }% x. d2 v0 n
echo "a b
" ;
! W8 [" b1 u' ~1 \4 j} 2 z; s( z6 R( N9 a: k
?> & B. r/ J& S" ^! V8 h$ i

5 S; z' m" t. F2for循环就单纯只有一种,没有变化,它的语法如下
8 l! ?# F& w" _  V

; L; B5 d1 ^6 M+ T6 `7 Efor (a; b; c) { statement } 0 B% |+ G* e3 j) o# F
其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
/ K* Y" a' [; c5 T
下例是用 for 循环写的的例子。

) L- n  h, y9 ~9 ^: m+ O) Z8 k, s' Z<?php   ?9 _4 ^7 d" A7 z9 g
for ( $i = 1 ; $i <= 10 ; $i++ ) { 1 ^7 f; {- r5 I( U
echo "这是第".$i."次循环
<br>" ;
+ `$ M$ E3 }5 N1 @' g3 }0 `}
  Y# }9 f( h" A+ R0 {' v?>
- g+ S& x! R# c2 ~1 F/ c4 j9 m! X
( ^# e: `, z, k0 S3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。
6 l9 J3 O5 u3 b" ]6 H
语法如下:2 S* l8 D) {  G
switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; } ! V; e+ S* q3 {$ W4 w7 b
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。
  T! f6 q6 U7 b8 E  o8 K; V( k' D
' R$ c! y- W+ b' c* e5 G<?php ( N, E/ p) m7 f- j: @) X, m
switch ( date ( "D" )) { 8 ]  }! k3 l& z9 {2 n2 U+ q1 |7 V
case "Mon" :
( A( i- @  J- J+ H- ]7 eecho "今天星期一
" ;
. Z! u& D0 E4 Fbreak; % j; X: s1 Y; M7 y. \; m. v' e
case "Tue" : - ~0 V; _; _) ?/ y9 m9 l
echo "今天星期二
" ;
  D8 h! x' a+ Q9 L7 Hbreak;
& u9 `* [" j' W$ r! c% H  l. @case "Wed" :
# N# t4 ?  k5 Z5 uecho "今天星期三
" ; ; z+ l! D- W2 A, P" z8 k
break; 2 H. ?# v/ L; M* J. X5 `8 r  w
case "Thu" :   X5 X/ [0 B/ t. e4 L
echo "今天星期四
" ; $ j1 S( O" M: U& j3 Y' @; Q$ x
break;
9 ?; v# p/ y8 mcase "Fri" : ; \1 o! ]; g% J5 E9 ?, z
echo "今天星期五
" ;
% O, H3 l4 l  [/ \7 S7 @3 dbreak; 2 b* R( A$ }8 n8 L% u5 S
default:
4 H$ q& Q4 x+ C$ Mecho "今天放假
" ; 9 F% U: v$ n3 S% Q0 n: E
break; . ~1 n8 L+ F9 b8 Y4 q& ~" `
}
' H: a4 s$ o9 r+ q, x/ u?>
# M$ w: n  @* k( O% n7 U这里需要注意的是break;别遗漏了,default,省略是可以的。
5 g, R* ]9 ]0 C# t0 z7 u- E
很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。
6 s/ G2 V7 {# d7 n& q" `9 W# h- h) l
十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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