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

十天学会php之第二天

php的流程控制
: `$ U( k" H$ {. W% x2 c/ b8 v7 i# e
1if……else 循环有三种结构

3 m; P" L4 F- w1 }" x* q第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下:
/ I! J5 @" s. K4 |$ ]/ ^1 W8 l7 D) y! d5 }
if (a) { statement } 1 ^. l6 e! k' Z* \" v2 c
其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

2 u% b# L  t8 w4 v0 g  _# o+ `范例:本例省略大括号。

2 G/ c# h; \- q& H% \  n; H! L' d6 k; N$ c( K. A' Z! _
<?php * Q% p2 g/ n4 P( H+ R8 [
if ($a==1) echo "我爱
php" ;
; {  H. v; K  v8 D?> ; I9 E% \2 i7 ]$ k

4 q. g% L0 ], H' J- |. w这里特别注意的是,判断是否相等是==而不是=

/ {' d& w+ y5 Y2 k范例:本例的执行部分有三行,不可省略大括号。

5 p( D0 |0 p0 u4 c; ~4 S
. x$ M9 u8 R8 \- b! _) |<?php , X# g7 U' H7 L) }, O( r. g# K
if ($a==1) {
0 U0 O5 V+ L* lecho "我爱
php" ;
5 C8 W# E3 Y; Y5 }, S3 vecho "<br>" ; # q/ Q! ~/ M$ z) L
} + b, v2 r$ ]( C! _) t2 j* \+ C7 R
?> & w1 b0 H- d! [3 }" r3 b, g

% p1 M% }# H) t7 V: s第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
7 t* t  o9 |3 n! d/ z, C5 p" j

7 W/ `" h4 s; I7 Uif (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。

% w' X8 o4 W$ G2 F7 x+ ~$ Y<?php 5 R6 n. q9 a* Q' I& g; Q
if ($a==1) {
6 x1 c$ H/ p% qecho "我爱
php1"; ! T  e( L% j$ h
echo "<br>";! }* n! H- X0 P, h2 t0 m
}
4 L2 }' P7 I7 Gelse {
' N4 A# w5 W5 n) t9 Becho "我爱
php2";4 j6 F- x1 t( `# N% \$ r- M5 D. f
echo "<br>"; ; J# l$ R+ z$ {
} " P' I' ^* ^4 B7 o" ]
?>
6 |$ {# R' L' T, g4 Z! j+ p4 O1 k9 ^# Q3 Y' ]: `
第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。
+ C  G% k6 E9 Y$ {% k# {! d, p
直接看下面的例子
# b* c5 ^0 X) i4 h6 y$ g0 g
<?php ' f8 X- g6 m2 ]" Q4 u7 ^5 ^) }! L8 S0 u
if ( $a > $b ) { 1 O4 K5 N4 l+ T0 @/ N. c5 Z- i
echo "a b
" ;
6 Z5 K( J! D; f2 G* b} elseif ( $a == $b ) { ) x  M" l% e8 o5 H# Z
echo "a 等于
b" ;
2 u/ b8 C8 a+ r1 S' i} else { " X& b, N. F; V/ c7 t
echo "a b
" ; 9 Y; w5 ?* Y% a* ?; l6 n
}
  I0 d# ?% `3 A1 C( u- n" |8 V?>
: M. ^' m/ B+ o- J1 I; n1 j- Z" m7 q7 ?
2for循环就单纯只有一种,没有变化,它的语法如下

7 |. g1 C4 l4 K' z( f
' |" Z1 r, |& p( L( @2 W4 Sfor (a; b; c) { statement } 4 n1 u9 L& j7 ^# B
其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

. `; Z& L( J. B* r3 u! k9 `. t下例是用 for 循环写的的例子。
1 |( S; y7 |7 K- G& R1 o  a9 ?
<?php " k+ V  M, F0 z! r
for ( $i = 1 ; $i <= 10 ; $i++ ) { 6 K% e3 ^( Y3 M
echo "这是第".$i."次循环
<br>" ; , F+ N& i/ V' _% Q5 d
} 7 y9 V1 v6 x5 `
?> ( B/ V& v: x% \* [8 R6 g! H; ^

" ?2 b, Z# A; A9 @- Q( S3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。

$ [$ r6 v7 ^! y( \) R语法如下:
/ F6 P* W( p. aswitch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; }
% ]  u+ p& M: I) M
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。
+ h. K8 t$ ]5 ?3 q# g, N! H$ ?! _' U* x
<?php
8 D# z  i7 r6 b7 c$ vswitch ( date ( "D" )) { 2 L6 \1 a5 g; U6 K- Q, ~
case "Mon" :
9 L) S( ]2 c2 u' Y* A: s( Qecho "今天星期一
" ;
9 `7 d% d4 [, d/ E4 @# tbreak;
2 J' ^3 d  R7 J- w+ T( vcase "Tue" : + z' x  h# _' }
echo "今天星期二
" ;
# F* B7 w3 w" F8 r* Ebreak; $ k4 Z8 M: x' q% h
case "Wed" : 4 {8 M1 Q% }7 i
echo "今天星期三
" ; / d' b4 B$ S1 v/ ]( m3 P/ D# n
break;
9 C) W4 Y7 s; |6 S+ i# M1 a0 S2 `case "Thu" :   V& {6 L3 y8 y4 G8 B8 S
echo "今天星期四
" ; " D# b( O8 y* \5 c
break; ; T; ~& u+ Q4 V# l. H
case "Fri" :
; d9 p: ~% j  q( ?- k1 ?/ jecho "今天星期五
" ; 8 p' y- n* h/ |7 R& X9 c2 P
break;   b+ m/ A2 N( I1 K% Y! w
default:
& V8 L8 e# m) P) G2 R; L4 ]# X! }2 Vecho "今天放假
" ;
5 }4 U4 L1 W7 B9 ^  Q. Wbreak; 7 {& W5 F8 j) ]5 V
}
# I$ \2 H; v" N5 C0 L, O?>
7 Q8 w* t3 k  f. w) p) }* C这里需要注意的是break;别遗漏了,default,省略是可以的。
8 k) O% r9 p  F$ F! x0 ]
很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

. h7 Y# B3 e* U: m7 q) M( J十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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