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

十天学会php之第二天

php的流程控制 " C) `8 w; Q0 L4 \2 z7 F* _- U

0 `  A0 y& Y1 E2 {2 E& j1if……else 循环有三种结构

9 L( r8 U% n7 x$ [/ s第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: ( ^$ b6 k# o  T1 S1 Q2 {  U, s

2 I6 x! J+ C- j; iif (a) { statement }
! K- h3 A) e# Y其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

( ?# R) T  M8 E' H4 L" n+ T范例:本例省略大括号。

; O" ]7 i; z' \% W# V, A/ v/ \8 }9 b6 u% r( |3 c' y5 U! F& y  U% f
<?php
* ~& m! U9 ]: |/ tif ($a==1) echo "我爱
php" ; 9 f  i% Q; [' y! `# G
?> * m$ B% V! P2 ^

4 E+ J2 o, u8 J, {1 g. a5 C这里特别注意的是,判断是否相等是==而不是=
2 ]5 m) {( ^6 o) ^) p
范例:本例的执行部分有三行,不可省略大括号。

% \4 |3 }/ X. q8 D# D- ^0 R9 S7 M3 @
<?php
9 o- q; `: ^6 Yif ($a==1) {
, |8 `2 Z( W# X8 C, Z" Uecho "我爱
php" ;
# u  P8 c; x' q, K7 R; T1 x8 \echo "<br>" ;
! o, Z8 T* `5 n) w+ V& D) S( z# [} * `" f( \! y/ \4 G
?> . C* w2 j0 F# Q& _* S- [5 H

2 Q3 H, M% d  F第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
0 U. s5 o* h! B1 j
3 D, g8 W" Z) B: e2 C
if (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
; U; ]  c5 U6 w4 y
<?php
* v9 Y4 R0 M; R& K0 r5 ^# P$ Xif ($a==1) { ! ~% t0 T4 ~2 S0 Y; X3 Q$ q0 ]
echo "我爱
php1"; - s# y3 t. N* M/ g
echo "<br>";% e, `$ n) H( p, B2 S& K, b2 m9 p
}
' X  Y8 {) g: y  ?& b1 ielse {- W- w; j/ {) ^: F, T
echo "我爱
php2";
0 Y1 |- d; r/ hecho "<br>"; ; s# q' _" w5 E
}
+ O& V; y1 _- ~* g# P# z: R/ J0 n8 u?>
7 S8 r3 U4 L# N) b; @% S2 t" R1 D4 Z" S8 ]
第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。

5 [! N6 s3 L% Z- z直接看下面的例子

$ ~* R3 J' v" O6 `# w  C<?php
3 b) y  W7 V. r. f$ `. O7 dif ( $a > $b ) { 4 u# ~2 E, z$ q2 B
echo "a b
" ;
  Q3 W& ^, y* R/ p} elseif ( $a == $b ) { 3 E7 ~) H2 g: {0 ~! D3 `! p
echo "a 等于
b" ; ! ~& T/ R9 e3 o6 j
} else { & m( Z) T4 a8 e4 `3 U3 P* a* P
echo "a b
" ;
% Q9 M0 N& B5 q, ^/ `8 j2 B} , ], `: r) W( N0 I% K
?> ; c! I0 _. B4 Y5 f
8 w6 K& d8 v4 i- Y" l7 Q
2for循环就单纯只有一种,没有变化,它的语法如下
) ~; M7 H5 f, S- y4 S4 A

; j' r. o/ w$ A" B8 N( ifor (a; b; c) { statement }
9 {# |9 a/ j6 c& g2 b6 v其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

0 p! b. g+ X  R( f. h& n- |/ n下例是用 for 循环写的的例子。
, V" t7 b/ s2 n6 P. S2 Z: K
<?php
+ M. s8 J9 U! d- l8 I& o" ~for ( $i = 1 ; $i <= 10 ; $i++ ) {
6 q% p' W9 y+ K) K: L* Techo "这是第".$i."次循环
<br>" ;
8 L4 [9 y) w5 ^. B}
- S3 S0 A$ x# P( {. h+ T?>
3 v# H' f$ }2 B9 g
6 U: v1 F; W0 ~+ z3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。

6 y6 R9 z! j' S; s  R. i; F1 X! L语法如下:
, ~# v1 S7 k( K8 C# U  Q+ T! a! vswitch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; }
$ L& f. l" h) L3 _' ]$ q' q9 x2 s
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。 " x# l. _0 o# r2 |: v
& X: L& j5 }& ?4 V
<?php
  _. q3 u& O! s2 B. K* ~: B/ Vswitch ( date ( "D" )) { / }, n! ^+ I2 b8 u/ I8 P
case "Mon" :
7 J; L! i7 C+ Iecho "今天星期一
" ; 9 J& R2 J0 q$ G+ g# o2 p. w; m
break;
% O& L3 N! V2 y; z4 M2 Acase "Tue" :
' K4 g4 u; M: W# k3 Secho "今天星期二
" ; * j0 j7 x' `$ T  C7 R% m* W
break; " a: ~; z/ P  k1 A, a2 y, c
case "Wed" :   n) \% D, J4 K. b
echo "今天星期三
" ;
! S3 a! e( ^" ^" q. abreak; # ~& r% F# H# s2 `
case "Thu" : - i7 t3 i3 _4 y! f* R9 {
echo "今天星期四
" ;
0 p" N2 e6 M# \! T( Xbreak; 1 D7 Q# O9 o' e; l/ Q1 v' J7 l9 D) a. f* G% h
case "Fri" :
3 u  M0 E/ W* ~6 C& T5 [; w2 ~echo "今天星期五
" ; $ C( X! i) G& U! G3 O8 g  b
break; $ c) e, D# ]7 B
default:
1 V, ~) H/ C/ S# x! w. c  l# Mecho "今天放假
" ; " P* F8 [+ H9 v2 A
break; 0 h8 Q- T3 U4 _; ]# W' r
}
2 D( h3 _4 K2 P/ F; S?>
3 s+ a% \% t  W' g! q这里需要注意的是break;别遗漏了,default,省略是可以的。
" S2 K  D0 I/ k, M0 t
很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

6 i% `3 W, @! o十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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