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

十天学会php之第二天

php的流程控制
3 ^" @& k4 I+ B) o2 R
1 v* t; ~6 L7 S# Q- G6 K9 ]' x1if……else 循环有三种结构

" s3 V" O- H# y5 w8 R! ^第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下:
' w6 L/ }9 K1 w: Z# [2 G5 M7 `, q0 G! X; @
if (a) { statement } 4 c7 l* ?, S! u  T! U) Q
其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
. @, W; q6 Q- z: N
范例:本例省略大括号。
* m4 z4 _  e- d: A
% c7 ~# U) b5 ~& J; r  Q6 Y
<?php
0 S) S! a- t' f5 k- rif ($a==1) echo "我爱
php" ;
; I; I. N* s9 S$ V  Z7 R& A?>
3 \6 J4 A; J3 E7 F! T7 L
8 O7 x% M) F2 f5 _( C/ |0 a这里特别注意的是,判断是否相等是==而不是=
: D) c" \+ k0 q
范例:本例的执行部分有三行,不可省略大括号。

' T6 U* V' V* U6 B# x# o  A# s8 F$ b& ~7 M  {  T
<?php
5 w% N; z3 v5 c* [; Fif ($a==1) { ; V  Z7 d* P* e  c/ s
echo "我爱
php" ; , S4 ~) K0 F7 K; R- @; W: \$ j& @" C
echo "<br>" ; . J7 i& E9 A4 H8 c4 `0 s; s
} * S- T( g! R/ Q2 x: I
?>
, f3 \2 f; g: |1 o0 z* T
' D% h) j# v( o+ m' W3 R第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
! H) d$ i1 W0 i3 z4 w3 K) K

+ v& t- A" p4 Iif (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。

" H. f' ~5 K9 L2 T2 ^# H<?php
) `* S; y" `4 n: L- _+ tif ($a==1) {
$ m" b  k  J) _9 uecho "我爱
php1";
. u" Z' P, {( techo "<br>";
; b& A6 s1 U% D( l* P  @' d}
+ t/ B2 }% R- Belse {
& ^( Y, x6 A% }+ c% Xecho "我爱
php2";
" M  Y! {: H7 @9 ^8 |! `4 g0 ]echo "<br>"; - U% m6 O. G" z- e' m5 T
} 7 e$ P6 Z1 m6 K. _0 z( T
?> 3 X4 R7 b& U1 Q. t! j! ]

4 M5 m9 o3 N+ R" O# I! O* o第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。

  V6 E8 b# k5 t5 b, A直接看下面的例子
0 F  p9 c2 L/ }
<?php
- Z1 ^8 u7 L6 G2 E' f5 cif ( $a > $b ) { $ J: T! Y$ b: C
echo "a b
" ;
# b& ?1 ]; L' P7 ?. x7 Q/ G+ {} elseif ( $a == $b ) { # H4 f% [. ?, }
echo "a 等于
b" ; : O6 D6 k+ |# g/ O+ R+ N
} else { & S1 ^  a3 \8 Z9 H& a$ C
echo "a b
" ;
4 v$ t; S# z* R; b} : T: N2 X; Q# u! x' m2 D
?> 9 v8 o2 ?: e  ^) J7 U* R
) h( P7 o- F/ B' z  M: p9 P# P( x
2for循环就单纯只有一种,没有变化,它的语法如下
  a6 n5 [  Z  r% G. _/ @6 Q! k

; D, x% [: b% @' I& ~! Sfor (a; b; c) { statement }
' b- Z( x" v8 f) p/ X其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
9 c; s, ^$ L; I1 H$ g7 g
下例是用 for 循环写的的例子。

# |" h/ {" {, {5 V0 O9 V<?php
) _- M: d& I$ Y; Lfor ( $i = 1 ; $i <= 10 ; $i++ ) { ! y9 s2 ~) Q8 K) [
echo "这是第".$i."次循环
<br>" ; ( N! C, n# K9 d5 Q. L! d1 {$ Z
}
5 b0 ~8 u- E( d' g?>
. E& X& U  p: U" }$ j/ i9 |$ C" ]. `4 g! t# r
3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。
/ e2 S$ c! j- S! J3 q  B
语法如下:4 c3 u6 ^! U  N4 M+ G
switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; }
/ N* c: ^8 Q! h2 r% R
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。
4 b# T( U7 }9 v5 |
: K: J6 k* z0 ?& D" k0 C' Y<?php 8 G$ j, T! M2 t' R0 k* `
switch ( date ( "D" )) { # w, X/ G: Q4 y% A! @
case "Mon" : ) L  `  Z) L2 v: A1 f) I& _
echo "今天星期一
" ; + G/ m6 \1 q6 N) o! E1 O
break;
1 W% e: a, `- D2 rcase "Tue" :
* x% C! w/ R7 ~$ z8 ]: C* [) mecho "今天星期二
" ; 0 z% p# F4 `" O: d* b) X5 N2 n
break;
: b' ?" Y, ~' B: A, q3 icase "Wed" :
( x# e# O; \7 G( t+ eecho "今天星期三
" ; 9 W% z7 N+ S$ n* ?$ I4 T
break;
. V( J* |! O/ }3 S! Qcase "Thu" :
) ?3 B' V' J$ C7 a; [; Y7 cecho "今天星期四
" ;
  C' S  G/ D7 u( _$ a! jbreak; 6 C& S$ V2 G  [+ M
case "Fri" :
0 q8 R) @  M( hecho "今天星期五
" ; , \: k7 }/ @- m1 s& h
break; $ Q. J; @6 j* m7 g' c% ~7 p
default: , c) L% z% F/ X) d/ [% W
echo "今天放假
" ; 4 X% E8 k9 m2 q% |( g  s5 b
break; 8 n: p  @! j* Y1 X, D$ t
}
/ b3 K+ M6 }! A  j?> ( z6 ~$ ]: M4 `. e; }
这里需要注意的是break;别遗漏了,default,省略是可以的。
( T* p, d* L8 R) C2 H: X! q
很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

: O7 N8 g4 ]: O十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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