PHP: 双层 for循环的执行过程
先看代码
<?php
for ($i = 0; $i<3; $i++) {
for ($x = 0; $x<3; $x++) {
// code...
}
}
?>
看下它的执行过程
1.首先执行最外层的for循环,此时$i = 0;
2.然后开始执行内循环,这里值得一提的是:for循环嵌套的话将优先执行内循环,再执行外循环,
所以说它会把$x由0递增到2;执行3遍内循环后,退出外循环, $i++,$i = 1 ,再次执行外循环...直到$i = 2的时候循环结束
如果说的不对希望看到的人来指正!
这样不难理解下面的的例子:
<?php
$array = array(
array("dongxiaoxin","22","male"),
array("yexiaoyang","21","male")
); // 利用for循环遍历这个例子 for ($row = 0; $row<2; $row++) {
for($molumn = 0; $molumn<3; $molumn++) {
echo $array[$row][$molumn]." ";
}
echo "<br>";
} ?>
我们再来看一下上面的例子的执行顺序以此结束这篇博客!
首先执行最外层的for循环此时:$row = 0;
在执行内循环
0,0
0,1
0,2
内循环执行3次后 $row++,再次执行外循环此时$row = 1;
1,0
1,1
1,2
然后循环结束:
打印结果如下
dongxiaoxin 22 male
yexiaoyang 21 male
PHP: 双层 for循环的执行过程的更多相关文章
- 怎样让js循环重复执行过程
setInterval(function(){ cc();},60000);setInterval是每隔一分钟就执行一次方法体,主要特点是循环不断的执行.而setTimeout是执行一次就不会继续执行 ...
- JS引擎线程的执行过程的三个阶段(二)
继续JS引擎线程的执行过程的三个阶段(一) 内容, 如下: 三. 执行阶段 1. 网页的线程 永远只有JS引擎线程在执行JS脚本程序,其他三个线程只负责将满足触发条件的处理函数推进事件队列,等待JS引 ...
- 【JS】js引擎执行过程
概述 js引擎执行过程主要分为三个阶段,分别是语法分析,预编译和执行阶段,上篇文章我们介绍了语法分析和预编译阶段,那么我们先做个简单概括,如下: 语法分析: 分别对加载完成的代码块进行语法检验,语法正 ...
- (转载)js引擎的执行过程(二)
概述 js引擎执行过程主要分为三个阶段,分别是语法分析,预编译和执行阶段,上篇文章我们介绍了语法分析和预编译阶段,那么我们先做个简单概括,如下: 语法分析: 分别对加载完成的代码块进行语法检验,语法正 ...
- python 双层for循环,在第二层的for循环中的else中的continue,会退出到第一层for循环继续执行
for a in [1,2,3,4,5]: for b in [1,2,3]: if a == b: print("a = b = %s" % a) break # 退出本次for ...
- JS的解析与执行过程
JS的解析与执行过程 全局中的解析和执行过程 预处理:创建一个词法环境(LexicalEnvironment,在后面简写为LE),扫描JS中的用声明的方式声明的函数,用var定义的变量并将它们加到预处 ...
- C#编译执行过程
前言 大家好,我是卫斯理(Wesley).喜欢武侠的朋友可能知道小说中也有个卫斯理,他是位冒险家,财力充沛,极富冒险精神,并且有着超强的好奇心,对奇异的事情总有"打破沙锅问到底"的 ...
- for循环立即执行和不立即执行,js闭包
<script type="text/javascript" src="jquery-2.1.1.min.js"></script> & ...
- 绝对干货:自定义msi安装包的执行过程
有时候我们需要在程序中执行另一个程序的安装,这就需要我们去自定义msi安装包的执行过程. 比如我要做一个安装管理程序,可以根据用户的选择安装不同的子产品.当用户选择了三个产品时,如果分别显示这三个产品 ...
随机推荐
- Redirecting to /bin/systemctl restart mysql. service Failed to restart mysql.service: Unit not found.
使用如下命令操作mysql即可: systemctl restart mysqld.service systemctl start mysqld.service systemctl stop mysq ...
- div页面布局基本布局知识
页面代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- 20180805-Java ByteArrayInputStream类
ByteArrayInputStream bArray = new ByteArrayInputStream(byte [] a); ByteArrayInputStream bArray = new ...
- Linux shell 归纳之 last
使用方法: 格式1:last -n n指定账号数量,最新前n个登陆信息(用户,终端,IP, 日期,时间和持续时间) 格式2:last -n <number of the latest accou ...
- php面试专题---MySQL分表
php面试专题---MySQL分表 一.总结 一句话总结: 分库分表要数据达到一定的量级才用,这样才有效率,不然利不一定大于弊,可能会增加一次I/O消耗 1.分库分表的使用量级是多少? 单表行数超过 ...
- jQuery file upload测试
<input id="fileupload" type="file" name="files[]" data-url="Ha ...
- Only variables should be passed by reference
报错位置代码: $status->type = array_pop(explode('\\',$status->type)) (此处$status->type值原本是 APP\ ...
- r_action
皮尔逊相关系数 斯皮尔曼等级相关(Spearman Rank Correlation) http://wiki.mbalib.com/wiki/斯皮尔曼等级相关 从表中的数字可以看出,工人的考试成绩愈 ...
- http代理工具delphi源码
http://www.caihongnet.com/content/xingyexinwen/2013/0721/730.html http代理工具delphi源码 以下代码在 DELPHI7+IND ...
- 【vue系列之一】使用vue-cli脚手架工具搭建vue-webpack项目
最近更新了webpack配置详解,可移步vue-cli webpack详解 对于Vue.js来说,如果你想要快速开始,那么只需要在你的html中引入一个<script>标签,加上CDN的地 ...