php 语句
表达式
语句
结构语句: ·顺序结构表达式语句、复合语句 ·选择结构 if 语句、 switch 语句 ·循环结构 for 循环、foreach 循环、while 循环、do while循环 ·跳转结构 break 、 continue 、 return 、 exit 、 die 、 goto
4.1 顺序结构 表达式:声明、赋值、运算、判断、空、复合表达式。 复合表达式是用{ } 括起来的几个表达式组合。
4.2 选择结构
if 语句的一般形式如下:
if ( conditionExpression ) { executeExpression; ….. } else if (conditionExpression ){ executeExpression; ….. } else { executeExpression; ….. }
例 4-1. 判断传过来的数 <?php $gue=rand(1,100); B: print "猜一个数(1-100):\n";
A: fscanf(STDIN,"%d",$i);
if(!is_int($i)){ print "请输入一个数字:\n";goto A; }
if($i<$gue){ echo "小了!\n "; goto A; } elseif($i>$gue){ echo "大了!\n"; goto A; }
echo "恭喜答对了!\n是否继续?输入'y'继续\n";
fscanf(STDIN,"%c",$a);
if($a=='y') goto B; ?>
switch 语句一般形式如下: swith ( $what ) { case case1: { executeExpression; ….; [ break ; ] // 如果不加 break,后面的句子也将会被执行。 } case case2: { executeExpression; …. [ break ; ] } ….. [ default : { // 当上述几种情况都不是时,执行这一句。 executeExpression; …. } ]
例 4-2. 判断接受过来的数据是什么情况。 <?php print "输入1、2、3 和 a :\n";
fscanf(STDIN,"%c",$i); print $i;
switch($i){ case 1: echo "ONE"; break; case 2: echo "TWO"; break; case 'a': echo "A"; default: echo"DEFAULT"; } ?>上例在进入 switch 语句之后的执行情况:判断 $i 的值符合哪种情况,则从哪种情况“一直”执行下去。 default 表示任何情况。当从表单中输入 a 。将会一直执行 case ‘a’:后面的语句,因为没语句break ,也就是说 default 情况也会被执行。
4.3 循环结构
for 循环一般形式如下: for(initialExpression; judgeExpression; untillExpression ){ executeExpression; ….; }例 4-3. 从1 加到 100 <?php for($i=0; $i<=100; $i++){ $sum+=$i; } echo $sum; ?>上例在进入for循环后的执行情况:首先 $i 被赋初值 0 。 <循环>计算逻辑表达示 $i <= 100 的值是真是假。如果为假,退出循环语句。如果为真,执行花括号里面的语句;执行完毕后计算 for 循环的第三个语句 $i++ 的值。再回到上面<循环>位置,
while 循环一般形式如下: while (conditionExpression ){ executeExpression; …..; go_out_expression; }例 4-4. 打印出 6 的阶乘。 <?php $r=1; $i=6; while($i>1){ $r*=$i--; } echo $r; ?>上面例题中,执行情况: <循环>计算表达式 $i > 1 的值。假 跳出循环。真 则执行花括号内的语句。执行完毕后,回到上面<循环>位置,
在使用 while 循环时,要含有一个能跳出循环的语句。否则就成为死循环。
do while 循环的一般形式如下: do { excuteExpression; ….. go_out_expression; } while ( conditionExpression ); // 注意:分号不能少。
例 4-5. 求出 1 加到 100 的值。 <?php $sum=0; $i=0; do{ $sum+=++$i; }while($i<100); echo $sum; ?>上例程序在执行到 while 时,计算出表达式 $i < 100 的值是真是假,是假退出。是真返回到 do 处继续执行。 do while 与 while 的不同之处是:前者无论 while 表达式是否为真,花括号内的语句至少执行一次。
例 4-6. 循环的嵌套,输出乘法口决表。 <?php for($i=1; $i<10; $i++){ for($j=1; $j<=$i; $j++){ echo $j, "x", $i, "=", $i*$j,' '; } echo"<br />"; } ?>
4.4跳转结构
exit 语句 exit 是结束当前程序语句。
break 语句 它表示中断循环。它后面可以跟一个数,缺省情况下值为1。表示中断几层循环。例如 break 2 表示跳出2层循环。例 4-7. 打印九九乘法表。当乘数等于7,后面的不再显示;当被乘数等于4时,后面的不显示。 <?php for($i=1; $i<10; $i++){ for($j=1; $j<=$i; $j++){ if(4==$j) break 1; if(7==$i) break 2; echo $j, "x", $i, "=", $i*$j,' '; } echo"<br />"; } ?>
continue 语句 当执行到 continue 时,它表示后面的语句不再被执行,回到循环体继续执行。后面的数缺省情况下为1,它表示出几屋循环。
例 4-8. 输出九九乘法口决表,乘数等于4,后面的不再显示。 <?php for($i=1; $i<10; $i++){ echo"<br />"; for($j=1; $j<=$i; $j++){ if(4==$j) continue 2; echo $j."x". $i. "=". $i*$j,' '; } } ?>观察:用 break 1 替换上例中的 continue 2 ,看一看两者的执行结果是否一样。
return 语句。 一般用在函数里面,用于函数的返回值。也可以用在外面。当程序执行到 return 语句时,将 return 后面的值返回给调用程序,并且结束程序。 <?php function one(){ $str="\tone"; } function two(){ return "\tTWO"; } print "ONE:\n".one();
print "TWO:\n".two();
?>
·理解PHP 的四种控制结构:顺序结构、选择结构、循环结构和跳转结构,并且能够熟练地应用。 ·循环结构在循环体内,至少要有一条能够跳出循环体的语句。否则就成为死循环。