返回列表 发帖

十天学会php之第二天

php的流程控制 # a  I0 `# @1 J$ ]
! R, }( |- _. j2 p, }. Y! H
1if……else 循环有三种结构
2 v( T+ h! o  m4 r/ ~- f( l+ \
第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下:
8 L! y' G) V9 A
( i+ h$ L) K7 K) \, t# c3 @if (a) { statement } % u6 X  p) W& x* u6 M/ P
其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
7 d  r7 n4 b: A6 D3 ?- X* r
范例:本例省略大括号。
+ Y3 ?6 e/ Z- S2 q

+ N3 k; J3 o4 x  w<?php ' \0 \$ z" `, y9 B. x
if ($a==1) echo "我爱
php" ; 6 W0 a- D$ \2 W1 h2 K
?>
. d' A, [' }: ?4 U: D# b2 _' I$ `# h$ o
这里特别注意的是,判断是否相等是==而不是=
* g/ a1 b/ m9 ]1 [* r* [5 e2 ~
范例:本例的执行部分有三行,不可省略大括号。

5 @; F' M/ @8 F$ V. n8 f! C
- i& Y/ [. a5 _* w: [<?php
: q3 |! P" ^& A! j5 `if ($a==1) {
+ P( {' V" e5 j, A, w6 }0 aecho "我爱
php" ; - Y1 C- N7 A! X+ @" Q
echo "<br>" ;
3 H6 H0 ]1 v5 @}
' ~. a+ ^4 ~3 x7 P4 D: J?>
# D0 S) ~" I: |/ \6 G- A3 I$ l% ^
( x. j2 O0 \% l9 |! y: C8 C* M% c第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
1 J2 P( n8 h% ^
  B' I+ z5 ]6 H& f; {7 ?
if (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
; K8 q" k* `3 s
<?php
9 h$ v& I- Z& o  {" N5 }if ($a==1) {
/ R) W1 N- R$ E( P# X/ Uecho "我爱
php1";
  `( h- A8 \& h' J4 hecho "<br>";8 A/ r# x; ~& L; H9 c% |9 b% c! l
}
9 Z7 I: F, a% S; \else {0 J% f$ G, j7 ^7 }. `( i
echo "我爱
php2";" |6 F  f! V" y7 P6 x; N6 X6 C! I) w
echo "<br>";
1 O' Q* V' F% Y! k}
2 f& o+ \6 R. C6 T?>
: e  w3 ?9 e1 k, M' E6 Y; F! \8 H
; Q* H% @- ~: J- g; u! _; W# _第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。
( F- r: S- `* J3 H
直接看下面的例子

: E9 ~" ^* G6 d. f' w7 k<?php ' B6 o* ]& ?8 \5 L# A& M. V
if ( $a > $b ) {
! o: G6 U- L3 A5 q: j! @echo "a b
" ;
% x- H# j' G5 m: O} elseif ( $a == $b ) {   ^" b% f7 Z5 k; p/ `
echo "a 等于
b" ;
! V  C% u7 X, q5 D+ j: a$ F# [0 |} else { 6 K8 G, F3 i( K# Q  {
echo "a b
" ; 0 a2 u7 }  w$ y9 ^3 E" y$ t
}
% V+ P4 u8 @0 x+ Z) M2 D?> 7 ^) [! y5 \2 \: q
% w$ x1 g8 D6 ]' a$ d9 E6 d
2for循环就单纯只有一种,没有变化,它的语法如下

% _% e0 ]0 C9 j3 g6 y9 Y* \' Q
for (a; b; c) { statement }
0 f  I1 R' M& f. e其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

$ ^8 o' @) L; Q* B9 m5 p下例是用 for 循环写的的例子。

( [5 [& C9 D) T0 B<?php & e. I" H: H! S' v
for ( $i = 1 ; $i <= 10 ; $i++ ) { 7 |) i+ p6 b2 Q% L1 Z- C* t
echo "这是第".$i."次循环
<br>" ;
3 a% I# E7 ]- Y1 @/ @}
5 T' O9 I1 u6 r?>
2 L5 ~; j* h  a; t: i0 q  J* P1 K  {. L
3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。
% u% A+ m: y1 s# q: _9 n# G+ h
语法如下:, ^; l5 b* Q# ]6 r
switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; } 3 |% G/ t& g" H% r" w
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。
) ~6 g& K' G8 ?$ w/ Y% r4 o; {, }' t) c% x: Y8 S& P& n
<?php 2 ~( h2 }; T/ `5 ^6 n
switch ( date ( "D" )) { 4 w! v+ k, x3 v
case "Mon" : 2 A4 C( i" d/ J- A
echo "今天星期一
" ;
0 ~* d/ G# a) A! Y; t3 Hbreak;
# h. s; Y# [! v- M+ Jcase "Tue" :
$ R8 V" T. B* ?1 h7 x5 c1 vecho "今天星期二
" ;
" ]1 B% y3 V) U1 _9 y: l) Cbreak;
" }" ^* H9 x2 ~- T& ?  d. x# q1 fcase "Wed" : , ^: g/ b8 h/ [7 ^
echo "今天星期三
" ; ' N5 {3 K% J; a: D2 E& w
break;
) R9 c  P5 w/ L0 P' E! G6 q& ocase "Thu" :
4 z) U7 o  k2 A# G1 r9 A3 F' xecho "今天星期四
" ;
+ F0 @5 }$ s& J( Q! xbreak; , {, F0 ^! @' N" P
case "Fri" :
5 h/ M4 d* f; |3 ^; Hecho "今天星期五
" ;
( ]- s# R# s0 X/ T, M- u+ g$ obreak;
' J$ q$ R' U# ]$ v* @/ P  D! Kdefault:
7 K+ ~2 e3 H/ H3 F  Aecho "今天放假
" ;
* `1 C$ b& s' ubreak; : P' A0 j8 n1 M
}
( ~  g: i7 P, g6 g! q+ y  @0 U1 G?> / |* w7 T5 D! Y  ^
这里需要注意的是break;别遗漏了,default,省略是可以的。

/ N7 L/ R* e4 H8 w9 @$ a很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

9 H& s- ?  n7 H十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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