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

十天学会php之第二天

php的流程控制
0 c$ X& [2 D( q* i3 Y, y6 V* h! L$ i  m" \* A3 T' p
1if……else 循环有三种结构

3 h. S( V/ B0 w% R8 A. Y/ F第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: 9 r% J& n" |3 `$ N9 {( l
" ~5 N5 W, y* B$ S: `! L: T
if (a) { statement }
  ]7 p6 ~1 B- t1 V其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

1 j1 ]' B) ]& q# e. V6 l9 p% h! L范例:本例省略大括号。
8 a6 l6 i9 H6 R* k3 |
# ?0 |0 W# @9 }7 ]9 m- m! y4 ?
<?php ! _- B2 [, ^# b; m! q$ z
if ($a==1) echo "我爱
php" ; 4 n! @' {! S! D+ w& C  b9 l
?>
7 `7 ~( s9 H$ F) ^( c2 ^" Y, [' ^0 p! s; ~
这里特别注意的是,判断是否相等是==而不是=
, B4 Q- k! b( g6 z/ [* _
范例:本例的执行部分有三行,不可省略大括号。
- B1 y2 B' X/ y+ p( `2 N4 b$ O
8 [  E5 ^* S+ a# u
<?php - @& D6 V- ~6 j8 X/ d5 [
if ($a==1) { 3 C6 O" s. p! n2 ]
echo "我爱
php" ;
6 U3 v1 a1 X; Qecho "<br>" ;
5 V5 O" Z+ v, p  C} 4 m. j1 Y0 [! ], w
?>
+ y( F- p( P2 \  b( m9 N3 N; H0 ?% V9 L! w1 B: o) n
第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:

! h( g3 b9 \3 }5 x. N0 b  \" i/ q4 @
if (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。

! l" Y1 }% w. d0 S# l! J. \+ i<?php
  s' k8 [' F9 i. i: S: uif ($a==1) {
& }+ L5 N9 v# o. M7 j& Mecho "我爱
php1";
4 C9 u0 N$ s" R$ v! F1 Secho "<br>";
  C9 J. t2 E* G$ A}
7 U. g. @! x* `- n( V2 gelse {
$ d. s% U! q& A& ~6 Zecho "我爱
php2";& _& D) Q5 y: m) A
echo "<br>";
% O$ G' \; w& l! |4 a+ i6 [' \. p}
: y% A) M/ g' @& ]1 |9 O0 w; x?> # }( @+ _2 s0 q5 [' ~

- `9 }+ G. f+ X+ A* Q( g8 f第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。
) \9 `. f0 X. c" B1 P- ]- F8 m
直接看下面的例子

3 Y9 ~% S- }9 r$ H* m4 {8 C<?php
' W8 }2 o0 H7 I" {  gif ( $a > $b ) { / f0 a; @: g  H: m8 A
echo "a b
" ; ; m# u% i; R1 v( v8 t5 p
} elseif ( $a == $b ) { ) A5 h. x7 t. x
echo "a 等于
b" ; 6 j5 ?1 {; V5 j+ C
} else {
1 F& Q$ }  Y* p# _" _4 ?# ]echo "a b
" ;
$ Q5 N6 ^+ X" J& m  ~) B* p* d}
* I* d; v% H& e- A7 E3 {6 I' M) W?>
2 ^( I! L: h& U/ [  C" R+ B4 }" l
6 j" j6 t- m1 ~2 v. m4 Q# P" l2for循环就单纯只有一种,没有变化,它的语法如下

) _1 ^6 Y, M7 c4 M" f
( @* U# X: w& l, ]; U  B- Jfor (a; b; c) { statement }
* G% A2 r5 w3 I( w其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
% |: ^$ b0 ?9 X0 B+ [5 \) k" S5 s
下例是用 for 循环写的的例子。
( f* n6 v( `7 W
<?php 5 |  M, H5 \# G6 F" ^$ T
for ( $i = 1 ; $i <= 10 ; $i++ ) {
: I& J( d8 r2 a% yecho "这是第".$i."次循环
<br>" ;
) j- [% o* o4 Q/ y! z5 Z$ C# `" |}
- S# Z; C- h7 N6 C8 ^, U?> * Z% I: K6 R& w- h* Q6 ^. g/ d

  v( ]* u: C" u1 |, i3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。
* b; G  H  L8 v( g
语法如下:0 o1 x4 K0 F2 r# D: w$ x
switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; } * O7 |* Z6 z% s& e8 y
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。   x1 F3 p) }3 z/ Y# J9 J

+ V: T0 |$ I/ t5 H$ Z. z3 A<?php / `6 T, ^% X8 ~
switch ( date ( "D" )) {
( _) K$ |0 W( O- G  jcase "Mon" : # N9 D/ Q5 B/ _' G9 ?
echo "今天星期一
" ; ; ?5 {$ V/ @7 ?1 s  j" h
break; ! [- r. t4 r7 h, y
case "Tue" : 2 W; O7 o1 b4 i( e" D6 `2 q
echo "今天星期二
" ; 0 J! `* k1 o; }) d2 q% Z- s
break; 8 ~: v+ W! i4 O1 O8 B
case "Wed" : ( |+ I; r0 A5 ~& }9 Z
echo "今天星期三
" ;
7 _5 l' N4 j' ]' B) _( Y: n2 Zbreak;
- F, E4 ^" Z6 H6 ~, E0 F7 m8 R+ fcase "Thu" :
& k# P9 x' P" _/ D# ~9 gecho "今天星期四
" ;
) d) M! G; w5 k2 n) Sbreak; % S6 z  z# @; W* ^0 }
case "Fri" : 0 ]0 r: L+ ?* ~; }
echo "今天星期五
" ; 7 ~% q! G& j+ M$ ^/ j) N
break;
' x$ F, o4 h  v! {. Mdefault: , i0 t. f/ Q: t% F$ p/ P
echo "今天放假
" ;
6 v% J, r: Y$ y! y" K$ z: w  S& B, ]break;
- g( ]! w- k: d' s} 7 U' ]3 `. y- \6 ^
?> . y' ~/ X4 v6 t" P4 F& R
这里需要注意的是break;别遗漏了,default,省略是可以的。

4 ?. f7 h) J9 {2 }很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

6 I& w/ q3 o7 m- Y5 }6 z! i& u十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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