返回列表 发帖

十天学会php之第二天

php的流程控制
; _6 u$ @, `4 N7 l" e
6 F* |; ^) e- F* E  \2 d/ Q1if……else 循环有三种结构
# {' n5 k3 |; k2 m# l( A
第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下:
7 e2 F/ s' P' J: ^, Y' V/ ^4 Q* ^2 i; u7 k: I% _
if (a) { statement } # ~2 T( P* ~- v6 D/ t
其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

: x) D( d' t, E3 A! ?, f范例:本例省略大括号。

/ H/ q" h  q4 ?0 `8 w
8 z- Z- x1 H# I2 M  Q<?php - Z+ ?& [  z3 \
if ($a==1) echo "我爱
php" ;
3 ?8 {$ \% q: j/ k?> ' o: M$ n- [+ O- ?
' k& K5 f; F& _- M3 A! F! p
这里特别注意的是,判断是否相等是==而不是=
$ Y' t, @! H5 ]/ z
范例:本例的执行部分有三行,不可省略大括号。
+ q9 I3 o0 o7 l& T0 l  L
5 k4 z! f7 ^( c2 Z
<?php 9 r& g  m5 j# G7 h* G1 G
if ($a==1) { ( s) D8 R6 l, T' S
echo "我爱
php" ;
- t# R; `& J2 ?4 I5 Y4 R* V; j# Y+ Eecho "<br>" ;
0 n; o6 T6 d0 x, R} 5 D8 p; c4 J% z
?> + d  {: J( G5 k; L: k$ S2 k) g
; P+ i( i0 `; \
第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
7 g9 m# P8 [' t) `* y% M. m
- u5 N# G6 X8 l8 _
if (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
5 t. G3 S- A* R! H" N& Z
<?php 0 G: [+ B; k1 ]( V
if ($a==1) {
+ f8 \) c; c  T9 H! {* \echo "我爱
php1"; * k+ q' ]7 K5 S9 L3 [) O! |3 O# L
echo "<br>";7 x5 f# Q8 }. b/ j7 J! M+ e
}
2 z9 Z  u6 q( _else {' q2 i1 {5 \6 S$ @& a
echo "我爱
php2";* Y- b( i5 @7 ~8 c  y4 Z/ k2 D3 l
echo "<br>";
! o4 z9 R$ s* Y; {}
8 }& f5 R0 }6 h' F8 x( k?> ; z( N3 G, c4 y1 q: U! H, g

  h" t' t  j, m' d# i第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。
! e! ^, @& o4 Z8 a' X) Y, c2 J1 ?' o, Q
直接看下面的例子
5 ?. ~" u' _% ]1 Z* B/ U: p
<?php 3 ~0 e: S6 E, ]% w; |; M: N  J
if ( $a > $b ) {
5 Z& H4 f& g/ h' j0 s! J2 D% ~echo "a b
" ;
0 Q; O5 }* r7 L% B} elseif ( $a == $b ) {
) A' R  y9 z* [7 X, decho "a 等于
b" ; ; V/ L1 ^" L5 \" Y% M$ w6 Y; u0 b
} else {
* ~- U7 X4 e# G+ {% a! Xecho "a b
" ;
1 r+ M  b2 }9 d, r) [. B1 ]} 0 w1 F' E  ~( L+ e& A/ X* R- p3 {
?> * Y% K) j: D3 x

: G2 Q6 m& M" ^+ g! m8 d2for循环就单纯只有一种,没有变化,它的语法如下

/ v& |, m9 [6 a2 p% P( A, [
* w9 m: q* T$ A9 Ifor (a; b; c) { statement }
, {; D* q. K- b' O# H其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

. F' Z) u7 j; M8 _6 R下例是用 for 循环写的的例子。

/ [1 R- J+ _) H4 y+ m  n5 C; I<?php
& Y! l* I- V7 ^- Sfor ( $i = 1 ; $i <= 10 ; $i++ ) {
/ P, Q! h; X1 S: Y$ }! a. qecho "这是第".$i."次循环
<br>" ; $ o1 P% t& G( P3 }
} + b: o+ E4 [3 J7 h. L
?>
' a8 R2 _; i! ?) B" A( q
1 N8 n6 x# A' I" R& f+ ?3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。
- w. G2 F6 r) i$ @/ l- B; t
语法如下:9 _9 v7 \1 T% w# x2 O
switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; }
1 r/ c+ w( R  ^# V
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。
1 X4 r9 ^% q1 R. B# W# d" `1 S/ b6 ^  u; J. I* X) T, o
<?php
  x! V/ e, T8 N: fswitch ( date ( "D" )) { 5 N: O& b! l+ ]
case "Mon" :
( t. Y& ]: N+ N( t! c+ fecho "今天星期一
" ;
* b) c9 d: m, Q- dbreak; 2 E$ D& t; y6 k) u8 \
case "Tue" : 9 I" g2 M+ h& S: H& k
echo "今天星期二
" ;
% A# o6 b) m& y' j6 |( v! D: |' B( |break;
- C2 n3 k8 ?" J/ i. U7 ?/ [case "Wed" : ; e8 x: w% X, q! F* S! H/ {
echo "今天星期三
" ;
1 E% _1 ^- }0 d6 H! \) Zbreak; 9 {. M3 I9 d. q* A
case "Thu" : # m$ }% E- ?: `6 r, S
echo "今天星期四
" ; " O( s1 ?: t" Q) t; S1 D- j
break; & s2 @  E* }+ F
case "Fri" :
6 y7 E# K2 u. @  N- gecho "今天星期五
" ;
' r' ]# G0 c1 }break; , |2 s6 j8 l+ S0 p# E7 _7 ^
default: $ n; R: k8 o% z
echo "今天放假
" ; ) A8 S' d; D& `" [4 ~* L
break;
5 P+ e. m, W& n3 ?4 N* _} " l- `$ g. u6 e2 [8 X( d
?> & r: M& e, S( P; K
这里需要注意的是break;别遗漏了,default,省略是可以的。
3 e# A% s: p6 E
很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

" _8 c  j' A' w% q% M十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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