仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1732|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网页设计PHP中for轮回语句的几种“反常”用法

[复制链接]
再现理想 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:30:49 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
刚开始因为习惯于ASP格式的写法,总是在这些方面出现问题,自己还总是找不到问题所在,这就提醒了自己,在写代码的时候一定要认真,不能粗心地老是少个“;”或者字母大小写不分,要不然很可能找半天都找不到错误。轮回|语句       for语句可以说是PHP(同时也是多种言语)的轮回掌握部分最根基的一个语句了,for语句的履行纪律和基本用法在这里就不多说,可以拜见PHP手册for语句局部。PHP手册中对它的语法界说以下:

for (expr1; expr2; expr3)
statement
 上面说说for语句几种有效的变型。

 1、无穷轮回

 起首是人尽皆知的无穷轮回(亦可称“逝世轮回”)。因为空表达式null在语法上是无效的,所以咱们可以把for语句的三个表达式留空,如许就会发生不休履行for嵌套语句的后果。

<?php
for (;;) {
 //放置需求不休履行的语句
}
?>
  固然有一些义务会利用到无穷轮回,然而大多半法式义务,出格是PHP所能触及的范畴,在利用无穷轮回时城市添加一些终止轮回的前提。

<?php
for (;;) {
 //假如是公元2199年,则跳出轮回
 if (date('Y') == '2199') {
  break;
 }
}
?>
 2、利用空表达式

 接上去就是说说在初始化语句expr1中利用null语法,留空expr1最多见的感化就是完成更加庞杂的初始化任务。

<?php
if (isset($i)) {
 unset($i);
 if ((int) date('') < 2008) {
  $i = 0;
 } else {
  $i = 1;
 }
} else {
 $i =3;
}

for (;$i < 10;$i++) {
 echo $i;
}
?>
 一样事理,迭代表达式expr3也能够留空,也能够使用这点编写更加庞杂的迭代式,好比说依据分歧的前提挪用分歧的迭代式。

 而for语句中的前提语句expr2留空则是下面所说的无穷轮回,固然也能够添加一些更加庞杂的前提去判别甚么时分跳出轮回,在此不在反复。

 3、多重轮回

 利用多重轮回来掌握多个变量也是在for语句中使常常被疏忽的一个特征。以下面的例子,在普通的义务顶用到的普通会是两重轮回,三重以上的轮回普通意义不大。

<?php
for ($i = 0, $j = 10;$i <= 10;$i++, $j--) {
 echo "$i + $j = 10\r\n";
}
?>
  以上代码将输入:

0 + 10 = 10
1 + 9 = 10
2 + 8 = 10
3 + 7 = 10
4 + 6 = 10
5 + 5 = 10
6 + 4 = 10
7 + 3 = 10
8 + 2 = 10
9 + 1 = 10
10 + 0 = 10
 4、更加庞杂的表达式

 假如把for语句的三个表达式写得庞杂一些,则可以用于优化算法。乃至可使用没有轮回体的for语句来完成一些义务。好比盘算累加或阶乘:

<?php
//盘算1-5的累加了局,斌值到$j
for ($i = 1,$j = 0; $i <= 5;$j += $i++);
echo $j;

//盘算1-5的阶乘了局,斌值到$j
for ($i = 1,$j = 1; $i <= 5;$j *= $i++);
echo $j;

?>
 PHP借助了C言语的语法,必定水平上也会具有C的特征,好比说壮大的for轮回语句就是一个典范的例子。
  模仿的不光是模仿,模仿的同时在加改进,就成了自己的作品了。
再现理想 该用户已被删除
沙发
 楼主| 发表于 2015-4-25 06:02:27 | 显示全部楼层
当然这种网站的会员费就几十块钱。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-9 23:35

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表