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

十天学会php之第二天

php的流程控制
' B/ j/ J; ^: i' p
& R+ T: H, [3 M; N: u' \- W7 {4 a1if……else 循环有三种结构
5 i+ v. ?& g0 t; W8 b" Y# K
第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: $ z) H: K0 b9 N1 O2 R2 D" Z

; H5 @- N* w% {9 X$ Vif (a) { statement } + E/ }6 M* z# M: c! n  r
其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

( g# N. c( n4 Q2 j) o范例:本例省略大括号。
  G5 Q0 x( q6 @

0 E  u  O: Z5 w3 m) u6 x<?php
* x) Z  |+ Y+ D" qif ($a==1) echo "我爱
php" ;
- v7 f, F* ~# l" u* w' l2 E?>
0 N( E9 g# {  |' Q$ x1 {  U! F7 Y4 D& y- {$ @$ X
这里特别注意的是,判断是否相等是==而不是=
: \( M" B+ n) W& U) l  i
范例:本例的执行部分有三行,不可省略大括号。

3 W; Z7 o+ X/ x/ `5 R3 y. U  Y2 @) V: l4 O/ |5 C) n5 @
<?php 7 p8 [0 Y/ j) W5 q. V
if ($a==1) {
2 j9 t8 O7 ~( z+ |) T2 Uecho "我爱
php" ;
. G7 V8 `( e+ l, h0 C# }6 kecho "<br>" ;   E. O" k5 n8 h. O$ X0 G
} 8 P, E  `# t5 h
?>
' M3 y8 x/ W0 e6 G/ E: X% P: x- c" [9 ?
第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
& L  N$ M+ }$ \, F9 ?3 a

/ u8 M$ T& ]; U) \+ Z7 Cif (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。

; F6 v% Z) r' H<?php * ?# o) F4 ^( Q! m2 _' Y9 @
if ($a==1) {
! J7 ^& I: k/ J/ {echo "我爱
php1";
" [# K1 F& @( c. Zecho "<br>";4 c' x  z+ v. ^# k
}
  M  ~; Y8 j2 X8 J5 v9 L# j& Selse {, ?& k; h7 S. b7 T' r& N3 z4 u; h
echo "我爱
php2";! R. y( V+ z+ P# s* u4 A4 }
echo "<br>"; $ Y( @! O( ^% A1 J. P1 y
}
$ W: x  q: b0 g# A?> 4 u4 @1 W0 a9 W* h
3 E% N5 H2 V; ^
第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。

5 n6 A8 O* z2 G& L; R- E# [$ l直接看下面的例子
) \& Z8 P$ K( |% @
<?php
0 `1 ]* z# f4 @3 b1 N. uif ( $a > $b ) {
/ l- }1 X4 Z6 zecho "a b
" ; 6 c  i  L4 C4 r$ ]9 p
} elseif ( $a == $b ) {
  r$ p. |( _. s6 d8 O# hecho "a 等于
b" ;
3 O6 d0 Z/ a  H& I} else { 4 m. d8 [! ]$ ]. R
echo "a b
" ; ) _7 q; T4 R: `
} . x" F3 X2 \- U# ~2 X: q
?>
! g& H+ A+ l% N
5 r) d3 }$ f4 }& |, c- |2for循环就单纯只有一种,没有变化,它的语法如下
1 H8 I; W) T2 m/ D' d- \4 R
, h% u! d" \$ U) }8 o! |$ E
for (a; b; c) { statement }
3 H5 A3 E- |$ {6 `/ O3 w' d其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

* `/ M& M( j# v5 N: T" M下例是用 for 循环写的的例子。

) i& P+ I$ ?3 J2 e2 K, K<?php
$ @6 r0 N% l7 q7 o' S# Sfor ( $i = 1 ; $i <= 10 ; $i++ ) { 3 M/ q* x7 b% E6 e0 B
echo "这是第".$i."次循环
<br>" ; " g+ H" W* L4 y1 ^/ g- K
}
- g4 R  W) s: ]) j/ P8 G+ x?>
" c7 l* Z0 i2 J( W8 g' p- g% R
2 x8 q/ g- n' Y$ \9 s3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。

/ p+ M0 K+ [' G2 ^2 X* D* q0 _语法如下:
, ]& S7 s$ S9 B7 n- [: ?4 bswitch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; } 8 ]  A: A( a8 K  ~. G
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。 : i9 ?4 z# S: s- f' D3 D; M5 d9 b
% s/ [0 x7 Z- s$ n
<?php
# Q& G1 ^0 U) ^9 a( h/ o4 Jswitch ( date ( "D" )) { ! M9 Q4 z/ E0 f; N$ i9 G
case "Mon" :
! o1 F/ ^5 \' X3 z5 Kecho "今天星期一
" ;
# ~' ^& ~. J; i2 i. A; W2 H. Obreak; ! d: F4 Z$ {$ V: h5 U$ _$ X
case "Tue" : * s; U% x9 d. p$ s
echo "今天星期二
" ;
8 O. a9 j" H. j) tbreak;   Z' z7 ~. P3 o& {
case "Wed" : 6 E  J/ g) c" f6 o
echo "今天星期三
" ;
& y& T9 o& L6 u. q5 m: hbreak; 2 l7 W3 d7 W& d* n3 X0 ]
case "Thu" : ' |3 ~7 Y* ]& _3 O
echo "今天星期四
" ;
4 L6 {3 \4 N: q- ~" {9 K4 T$ jbreak; 6 X7 a3 P# r2 _
case "Fri" :
( w6 P* J" O1 I  Pecho "今天星期五
" ; $ F1 R' Y7 |) H6 Q
break;
3 z* _' ]) Y0 C, Y) H; c/ Z* @default: - J; p; s; R' g3 e, d
echo "今天放假
" ; + c6 W5 _1 F7 T3 ?/ `
break;   a2 g. G1 C9 k3 Q" v
}
+ |1 J- r9 ]" p& U! g! X/ H?>
2 `6 i7 P9 D8 o$ c; \! f这里需要注意的是break;别遗漏了,default,省略是可以的。

' l1 n' ^) A0 z7 d6 ^+ @+ f+ O很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。
! e4 Z' T% j& P
十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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