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

十天学会php之第二天

php的流程控制
4 ]; L0 Z& `4 @; j. `
# L2 N3 {( [& [( l2 K/ m9 c( I; l1if……else 循环有三种结构
6 [) p3 Q4 c2 d
第一种:只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: $ B  J" f( L, v* W/ e1 p# a) |9 O
! q+ i0 I8 @4 R
if (a) { statement }
5 \3 e( `0 E- q- Q其中的 a 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}

, ~+ g+ t0 Q  y/ p7 W' I范例:本例省略大括号。
% x  I  J0 h: V2 X- L2 a, j8 i- y
* z8 u9 i. G) |; d' F# y6 O
<?php
; y4 W  l' \# P. U5 q. Z* xif ($a==1) echo "我爱
php" ; , |, _; ^+ J3 s6 U- Y7 {; n
?>
  `) N. d! J, J
% d# e# Z: K  }3 ~3 c3 C4 g1 o这里特别注意的是,判断是否相等是==而不是=
! d0 C: I( t8 o) |8 L/ |) |
范例:本例的执行部分有三行,不可省略大括号。
. g- r3 D5 U* O
- a7 x$ V5 W$ w3 @& h
<?php 9 b$ r  u$ M* ?; j6 S
if ($a==1) { 3 F; \$ }& G9 d
echo "我爱
php" ;   {9 d" s, _; S$ `# C9 q- L/ y
echo "<br>" ; & i8 \7 o$ ?' w: t4 w4 j) r
}
/ r6 l& T, s3 _  i% Z# B/ c+ {. k?> 5 i, k: Y! D5 Y* r
5 W8 s; A# ?# @2 Z  {! d3 |8 j5 w
第二种:除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下:
9 S2 _4 J* a" v4 Z: y: w. p! m/ n2 q

) S& l- ^7 Z( ~' K4 Uif (a) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。
1 y1 i. S1 a" f4 {1 l, @5 m& ?$ O1 o
<?php 3 a5 F  c) o3 h+ G, f: p- H  S7 y
if ($a==1) {
$ [; R6 Y* }" V0 Fecho "我爱
php1";
8 g& J2 G" t/ `  Eecho "<br>";3 W! B! Z9 L, i' v
}
6 O. [( o8 {/ c6 F; I6 W: V# Nelse {! u7 X  L: t. @! F9 ?3 ^
echo "我爱
php2";+ V9 r5 t5 G6 U) _
echo "<br>"; 1 M% k/ j% {# }: g
} ! \0 S* S# y: f& D" I+ A4 Z4 F
?>
2 z5 W) _- ], b0 r; \
3 H* I& G3 v4 M; I* f) }第三种:是递归的 if……elseif……else 循环,通常用在多种决策判断时。它将几个 if……else 拿来合并运用处理。

8 P$ B7 o$ D7 f% v9 m) n  Q直接看下面的例子

9 U' S3 z' S* ^( s<?php , |6 C# b( s' |% e5 O  O7 w
if ( $a > $b ) {
3 M# ?( z3 \3 @" ]2 Q7 hecho "a b
" ; ; w1 K/ c& @8 c7 e) ~/ ^7 E! ~
} elseif ( $a == $b ) {
! W8 ?+ _) M, B; N7 iecho "a 等于
b" ;
; |+ e* {4 ~9 k3 }# h2 O! B} else { 8 }, E) }$ N/ o
echo "a b
" ; / Z  l2 a/ ]" P5 O3 D6 y' O
}
, ^" l5 g9 m1 Y  ?( {7 L5 W9 x$ X8 I7 b?>
1 H+ w* |' u2 @/ Z# t- f, a0 c0 h
6 {: Q+ h  `! H# N+ G# z2for循环就单纯只有一种,没有变化,它的语法如下
) Y1 ?* t/ s9 Z
8 U! u, M1 S! j/ p( e
for (a; b; c) { statement }
8 [4 {& y* h  z/ C$ @" v其中的 a 为条件的初始值。b 为判断的条件,通常都是用逻辑运算符号当判断的条件。c 为执行statement 后要执行的部份,用来改变条件,供下次的循环判断。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}
& Q& s" J0 o! b" Y
下例是用 for 循环写的的例子。

* _- @6 a" X" i3 [$ d. M6 }  w<?php 5 V+ }5 @# k3 h. E5 s
for ( $i = 1 ; $i <= 10 ; $i++ ) {
# ^2 y1 ~4 C- |echo "这是第".$i."次循环
<br>" ; 0 l0 r3 O' W4 P
}
3 s1 z, O: o0 \$ y  o) N: T: D1 p?>
, G& {1 \2 E+ F2 }8 E$ g$ e, c, b& B! a3 f# X5 [
3switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。
9 S0 q5 l" T+ u9 L2 [) R9 u1 E3 `
语法如下:, e* f, t# z) t4 v
switch (a) { case 1: statement1; break; case 2: statement2; break; default: statementn; break; } . l$ {8 I* W$ _7 Q$ r
其中的 a 条件,通常为变量名称。而 case 后的通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。 3 y" O7 z2 B1 O: N* z% ]/ b

- V6 A, o3 C/ A$ j<?php
5 y& ~3 M4 V: \! F( @switch ( date ( "D" )) {
& Q: P& f' ^. N5 @" @, j* Wcase "Mon" :
" R8 B5 L2 ?% ]  D- Vecho "今天星期一
" ;
4 a- z% |6 i- l2 S# obreak;
# r5 E! Y  u7 y" _3 q% acase "Tue" : # S) m$ y: C: H' w- e
echo "今天星期二
" ; 5 C9 q3 m$ y# C/ P& _
break; $ Y6 ?, s3 q3 \& ?
case "Wed" :
8 Q/ M, ?: G# f; a3 }, recho "今天星期三
" ; ( i/ r8 x$ {# q' U2 r' p# Y
break;
# s+ u# t# y1 `case "Thu" : $ _) ?# v6 l* o2 [+ s
echo "今天星期四
" ;
4 D8 m3 E# z" l% Ybreak;
) q4 A* m/ l" h8 ^case "Fri" : 5 ^; b. h: t$ ]' q  O
echo "今天星期五
" ;
8 z$ o' f$ I1 I  Z/ P# Fbreak; 2 r; a3 ]; }  Q& {0 c
default:
" i  ~/ F3 H! ]' T2 f9 _echo "今天放假
" ; ! _1 [5 i* v  q- a6 p/ F
break; ! M8 d. x* b( v6 q8 i8 ^5 U9 s4 o( b
}
0 a& p5 m7 y. |# `?> " g. `! @1 G- O  x  k8 [
这里需要注意的是break;别遗漏了,default,省略是可以的。
! e1 k: J! l# J+ @6 A$ q$ @" P
很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。

: y0 \) R& O/ q# \十天学会php之第二天就说到这里,第三天开始说数据库的使用。

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