大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> PHP专区 -> PHP4手册:语法(四) 流程控制

PHP4手册:语法(四) 流程控制

时间: 2021-07-31 作者:daque

-------------------------------------------------------------------------------- if..else 回圈 -------------------------------------------------------------------------------- if..else 回圈有三种结构第一种是只有效到 if 前提,看成简单的确定。证明成 "若爆发了某事则还好吗处置"。语法如次:if (expr) {  statement}个中的 expr 为确定的前提,常常都是用论理演算标记 (logical operators) 当确定的前提。而 statement 为适合前提的实行区段程式,若程式惟有一条龙,不妨简略大括号 {}。典型:本例简略大括号。if (date("d") == "sat") echo "周结尾,狂欢去";?>典型:本例的实行区段有三行,不行简略大括号。if (file_exists("/usr/local/lib/php3.ini")) {  echo "以次是 php3 的设定档

\n";  readfile("/usr/local/lib/php3.ini");  echo "\n";}?> --------------------------------------------------------------------------------第二种是除去 if 除外,加上了 else 的前提,可证明成 "若爆发了某事则还好吗处置,要不该怎样处置"。语法如次if (expr) {  statement1} else {  statement2}典型:上头的例子来窜改成更完备的处置。个中的 else 因为惟有一条龙实行的训令,所以不必加上海大学括号。$f="/usr/local/lib/php3.ini";if (file_exists($f)) {  echo "以次是 php3 的设定档

\n";  readfile($f);  echo "\n";} else echo "很对不起,找不到 $f";?> --------------------------------------------------------------------------------第三种即是巢状的 if..else 回圈,常常用在多种计划确定时。它将数个 if..else 拿来兼并运用途理。径直看底下的例子if ($a > $b) {  echo "a 比 b 大";} elseif ($a == $b) {  echo  "a 即是 b";} else {  echo "a 比 b 小";}?>上例只用二层的 if..else 回圈,用来比拟 a 和 b 二个变数。本质要运用这种巢状 if..else 回圈时,请提防运用,由于太多层的回圈简单使安排的论理出题目,大概少打了大括号等,城市形成程式展示莫明其妙的题目。 -------------------------------------------------------------------------------- do..while 回圈 -------------------------------------------------------------------------------- do..while 是反复报告的回圈,不妨分红二种形式。最简单的即是惟有 while 的回圈。用来在指定的前提内,连接地重覆指定的举措。语法如次while (expr) {  statement}个中的 expr 为确定的前提,常常都是用论理演算标记 (logical operators) 当确定的前提。而 statement 为适合前提的实行区段程式,若程式惟有一条龙,不妨简略大括号 {}。下例很风趣,重要电报脑的欣赏器展示十次 "此后不敢了" 的字串,前方并加上数字,表白说了第几次不敢了。(发觉犹如是 web server 做错事被处置)$i = 1;while ($i   print $i++;  echo ". 此后不敢了\n";}?>while 不妨不必大括号来包住实行区段,而运用冒号加上 endwhile。见下例$i = 1;while ($i   print $i++;  echo ". 此后不敢了\n";endwhile;?>其余一种 do..while 回圈则先实行,再确定能否要连接实行,也即是说回圈起码实行一次,有点像是先斩后奏的本领。这种的回圈,和单用 while 是各别的 (单用 while 是先确定再处置)。若读者群熟 pascal 谈话的话,会创造 do..while 回圈像是 pascal 的 repeat..until 回圈。do..whilte 的语法如次do {  statement} while (expr);-------------------------------------------------------------------------------- for 回圈 -------------------------------------------------------------------------------- for 回圈就简单惟有一种,没有变革,它的语法如次for (expr1; expr2; expr3) {  statement}个中的 expr1 为前提的初始值。expr2 为确定的前提,常常都是用论理演算标记 (logical operators) 当确定的前提。expr3 为实行 statement 后要实行的部份,用来变换前提,供下次的回圈确定,如加一..之类。而 statement 为适合前提的实行区段程式,若程式惟有一条龙,不妨简略大括号 {}。下例是用 for 回圈写的 "此后不敢了" 的例子,不妨拿来和用 while 回圈的比拟。for ($i=1; $i  echo "$i. 此后不敢了\n";}?>从上例中,不妨很鲜明的看到,用 for 和用 while 的各别。本质运用上,若回圈有初始值,且都要累加(或累减),则运用 for 回圈比用 while 回圈好。比方将材料从材料库掏出,大概用 for 回圈会比用 while 回圈符合?  switch 回圈 -------------------------------------------------------------------------------- switch 回圈,常常处置复合式的前提确定,每个子前提,都是 case 训令区段。在实作上若运用很多一致的 if 训令,不妨将它归纳成 switch 回圈。语法如次switch (expr) {  case expr1:    statement1;    break;  case expr2:    statement2;    break;    :    :  default:    statementn;    break;}个中的 expr 前提,常常为变数称呼。而 case 后的 exprn,常常表白变数值。冒号后则为适合该前提要实行的区段。提防要用 break 跳离回圈。switch (date("d")) {  case "mon":    echo "即日礼拜一,山公穿新衣";    break;  case "tue":    echo "即日礼拜二,山公肚子饿";    break;  case "wed":    echo "即日礼拜三,山公去登山";    break;  case "thu":    echo "即日礼拜四,山公看电视";    break;  case "fri":    echo "即日礼拜五,山公去舞蹈";    break;  default:    echo "即日休假,尽管山公了";    break;}?>很鲜明的,上述的例子用 if 回圈就很烦恼了。固然在安排时,要将展示机率最大的前提放在最前方,最少展示的前提放在结果面,不妨减少程式的实行功效。上例因为每天展示的机率沟通,以是不必提防前提的程序。  -------------------------------------------------------------------------------- 其它的过程遏制 -------------------------------------------------------------------------------- 除去上头的过程遏制训令除外,尚有 break 及 continue 二个过程遏制训令。break 用来跳出暂时实行的回圈,如次例$i = 0;while ($i   if ($arr[$i] == "stop") {    break;  }  $i++;}?>--------------------------------------------------------------------------------continue 登时遏止暂时实行回圈,并回到回圈的前提确定处,见下例while (list($key,$value) = each($arr)) {  if ($key % 2) { // 略过双数    continue;  }  do_something_odd ($value);}?>而 basic 常用的 goto 在 c 及 borland pascal 中大概不妨运用。但在 php 中,因为它的 web server script 个性以及构造化的构成,并不许在 php 中运用 goto 回圈训令? 

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.