PHP-循环结构-数组
今日目标:
(1)循环结构 —— do..while.. —— 掌握
(2)循环结构 —— for —— 重点
(3)数组 —— 重点
1.PHP中的循环结构 —— do..while...
do: 做,执行 while:当...的时候
do...while...: 执行XXXX操作当YYYY的时候。
while |
do...while |
$i = 0; while( $i<5 ){ echo '※'; $i++; } |
$i = 0; do{ echo '※'; $i++; }while( $i<5 ); |
先判定再执行 |
先执行再判定 |
$i = 10; while( $i<5 ){ echo '※'; $i++; } |
$i = 10; do{ echo '※'; $i++; }while( $i<5 ); |
while的主体可能执行0~N次 |
do...while的主体执行1~N次 |
结论:while和do...while一般情况下执行效果完全一样;仅在第一次都不能执行时有细微的差别——while至少执行一次 |
练习:使用do..while输出10个Hello
练习:使用do..while输出1/2/3/...100
练习:使用do..while输出2/4/6/...98
练习:使用do..while输出90/80/70/...10
练习:使用do..while循环计算出1+2+3+4+...100的累加和,输出该整数和
练习:使用do..while循环计算出1*2*3*4*...10的累乘积,输出该乘积
.......
2.PHP中的循环结构——for循环 —— 最重点
for: “为了”,是最常用的循环结构
for( 语句1; 语句2; 语句3 ){
#循环主体
}
(1)语句1在整个循环开始之前执行,且仅执行一次——一般是循环变量的初始化语句
(2)语句2在每次主体执行之前执行,是一个判定语句:true时执行主体;false时退出循环——循环条件语句
(3)语句3在每次主体执行之后执行——循环变量的改变
(4)语句1和3中可以是用逗号分隔的多个语句
$i = 0; while( $i<5 ){ echo '※'; $i++; } |
for($i = 0; $i<5; $i++){ echo '※'; } |
结论:while和for的功能完全一样!只是for看起来更加紧凑。 |
练习1):输出10个Hello
练习2):输出2000/2001/2002/....2999
练习3):输出95/90/85/....5
--------------------------------------------
练习4):使用for计算出1+2+3+4+...100的累加和,输出该整数和
练习5):使用for计算出1*2*3*4*...10的累乘积,输出该乘积
练习6):使用for循环计算出90/5 + 80/10 + 70/15 + 60/20 + 50/25的和,输出该和
--------------------------------------------
练习7):输出1个※
练习8):输出10个※,最后再加1个<br>
提示:把练习7循环执行10次
练习9):输出5行10列个※
提示:把练习8循环执行5次 —— 循环的嵌套
练习10):输出:
※
※※
※※※
※※※※
※※※※※
---------------------------------------------------------
难题!练习11)输出本世纪(2000~2100)所有的闰年
2000 是吗? 是就输出;
2001 是吗? 是就输出;
...
2100 是吗? 是就输出;
提示:在for循环中嵌入if判断
难题!!练习12)输出所有的“三位水仙花数”—— 一个三位数字,百位的立方 + 十位的立方 + 个位的立方 === 该数本身 ,如
1*1*1 + 5*5*5 + 3*3*3 === 153
思路:只能逐个去试:
100是吗?是就输出;
101是吗?是就输出;
...
999是吗?是就输出;
$i是水仙花数吗?先取出个位、十位、百位上的数字,再判定是否满足水仙花数条件,满足的就输出
难题!练习12)输出所有的“四位水仙花数”
难题!!!!!练习13)输出100以内所有的质数
for循环的变种:
for($i = 0; $i<5; $i++){ echo '※'; } |
$i = 0; for( ; $i<5; $i++){ #语句1可以为空白,分号不能少 echo '※'; } |
$i = 0; for( ; $i<5; ){ #语句3可以为空白 echo '※'; $i++ ; } |
$i = 0; for( ; ; ){ #语句2可以为空白,等同于 for( ; true; ){ } echo '※'; $i++ ; } |
3.与循环相关的两个PHP关键字
continue:继续
如果在循环中出现continue,表示跳过此次循环后续的代码,继续执行下一次循环。
示例:输出1/2/3/4/6/7/8/9/11/12/13/14/16...99
for($i=1; $i<100; $i++){
if($i%5===0){
continue;
}
echo $i;
}
练习:输出1+2+5+7+10+11+13+14+17.......98
提示:计算累加和,跳过所有能被3或4整除的数
break:打断
break可用于switch..case..,表示打断不再执行switch中剩余的case代码;还能用于循环,表示打断整个循环,不再继续执行,调到循环外面。
示例:
for($i=1; $i<100; $i++){
if($i%5===0){
break;
}
echo $i;
} #只能输出: 1/2/3/4
练习:计算1*2*3*4*...*100的累乘积,要求如果中间$chengJi超过21747483647,立即终止执行,输出此时的乘积值,以及$i的值
难题!!! 练习:输出本世纪所有的闰年,输出够10个即不再输出。
while( true ){ #让用户猜系统产生的随机数 if( 猜中 ){ break; } } |
4.PHP中的数据类型 —— 数组类型
PHP中如何保存1个员工的年龄: $age = 20;
PHP中如何保存100个员工的年龄:
$age1 = 20;
$age2 = 22;
$age3 = 31;
$age4 = 19;
.....
保存批量的数据不会创建批量的变量!而使用数组变量!
array:数组,数据的组合/集合
创建一个数组:
$数组变量名 = [ ]; #空数组
$数组变量名 = [ 值, 值, 值, 值 ];
原生值类型:一个变量只能存一个数据 复合类型中的数组类型:一个变量可以存储任意多个数据 |
查看数组中内容:
echo $数组变量名; #错误!!
var_dump($数组变量名); #正确!!
获取数组中数据的个数(数组长度):
echo count($数组名);
操作数组中的某个数据:
echo $数组名[ 数据的下标 ] ; #输出某个数据
$数组名[ 数据的下标 ] = 值; #修改某个数据
练习:创建一个数组,保存5个员工的工资
练习:创建一个数组,保存4个用户的用户名
练习:创建一个数组,保存6个用户当前是否在线
结论:数组中可以存储任意类型的数据。
课后练习:
(1)创建一个数组,保存8个学生的考试成绩,使用for循环输出所有的数据元素。
(2)使用for循环为上述数组中的每个考试成绩+5分。
(3)再使用for循环输出修改后的所有数组元素。
------------------------------------------------------------
难题!输出所有的“四位水仙花数”。
难题!!!!输出100以内所有的质数。
有余力的学员继续完成“程序员必做的50道题”以锻炼程序思维。
PHP-循环结构-数组的更多相关文章
- 浅析PHP中for与foreach两个循环结构遍历数组的区别
遍历一个数组是编程中最常见不过的了,这里跟大家讨论下for和foreach两种方法.用这两种方法执行遍历的场景太多太多了,这里我们只针对以下两个数组作为例子来讨论.所谓管中窥豹,多少能理清一点两者的区 ...
- 你好,C++(23) 4.4.2 工资程序成长记:用数组处理批量数据,用循环结构执行重复动作
4.4 从语句到程序 了解了各种表达式和语句之后,就相当于掌握了写作文要用到的词语和句子,但是,仅有词语和句子是无法构成一篇有意义的文章的.要完成一篇文章,先需要确定这篇文章的结构,是先分述再总述, ...
- 深度理解PHP中for与foreach两个循环结构遍历数组的区别
遍历一个数组是编程中最常见不过的了,这里讨论下for和foreach两种方法: 首先,我们先准备两个用于遍历的数组: $arr1=array(1=>'a', 3=>22, 5=>'b ...
- java 基础 04 循环结构 一维数组
内容: (1)循环结构 (2)一维数组 1.循环结构 1.1for循环 (1)语法格式 for(初始化表达式1;条件表达式2;修改初始化表达式3){ 循环体; } (2)执行流程 执行初始化表达式 = ...
- javascript_basic_03之函数、循环、数组
1.函数:函数(Function),方法(Method),过程(Procedure): 2.默认为假的情况: ①if(0){}:②if(0.0){}:③if(null){}:④if("&qu ...
- 【C语言学习】-03 循环结构
本文目录 循环结构的特点 while循环 do...while循环 for循环 回到顶部 一.循环结构的特点 程序的三种结构: 顺序结构:顺序执行语句 分支结构:通过进行一个判断在两个可选的语句序列之 ...
- MATLAB的循环结构
循环结构有两种基本形式:while 循环和for 循环.两者之间的最大不同在于代码的重复是如何控制的.在while 循环中,代码的重复的次数是不能确定的,只要满足用户定义的条件,重复就进行下去.相对地 ...
- C#学习笔记11:C#中的顺序结构、分支结构、循环结构
顺序结构: 代码从Main()函数开始运行,从上到下,一行一行的执行,不漏掉代码. Int a=6; int b=5; int c=a+b; Console.Write(c); 分支结构: 代码有可能 ...
- Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)
一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button onclick="javas ...
- Java使用条件语句和循环结构确定控制流
与任何程序设计语言一样,Java使用条件语句和循环结构确定控制流.本文将简单讲解条件.循环和switch. 一.块作用域 块(block),即复合语句.是指由一对大括号括起来的若干条简单的Java语句 ...
随机推荐
- Faster R-CNN代码例子
主要参考文章:1,从编程实现角度学习Faster R-CNN(附极简实现) 经常是做到一半发现收敛情况不理想,然后又回去看看这篇文章的细节. 另外两篇: 2,Faster R-CNN学习总结 ...
- Kafka命令操作
本文主要介绍Kafka的shell命令: 查看当前服务器所有的topic [hadoop@datanode1 kafka]$ bin/kafka-topics.sh --zookeeper datan ...
- Android 获取控件滑动速度,速度跟踪器VelocityTracker;
VelocityTracker 速度跟踪器 在写关于Android滑动的控件,如果用户手指在屏幕上(当前位置 - 起始位置 > 某个数值)就做一个界面切换,但是总感觉太生硬,只有满足上面的条件才 ...
- 详解vue-cli脚手架项目-package.json
该随笔收藏自: 详解vue-cli脚手架项目-package.json package.json是npm的配置文件,里面设定了脚本以及项目依赖的库. npm run dev 这样的命令就写在packa ...
- MYSQL5.7实时同步数据到TiDB
操作系统:CentOS7 mysql版本:5.7 TiDB版本:2.0.0 同步方法:使用TiDB提供的工具集进行同步 说明: 单机mysql同步时,可以直接使用binlog同步, 但mysql集群进 ...
- DateTimeOffset DateTime
DateTime只保存两部分信息:Ticks和KindTicks 一个Tick是100纳秒(1万Tick等于1毫秒)Ticks记录了从1/1/0001 12:00 AM到现在经过了多少100纳秒.Ki ...
- 在HTML中显示base64 img 图片
base64的图片可以直接显示在网页上面 <img src=“data:image/png;base64,******************************************** ...
- 最强Hibernate搭建文章(转)
Hibernate优势: 1.Hibernate对JDBC访问数据库的代码做了轻量级的封装,大大简化了数据访问的层的重复性代码,并却减少了内存消耗,加快了运行效率. 2.Hibernate是一个基于J ...
- html2canvas html截图插件
以下我总结了一些注意事项,在代码中注释了,仅供参考. html2canvas.js点击付:完整使用的demo ,如下: <!DOCTYPE html><html lang=" ...
- Python正则替换字符串函数re.sub用法示例(1)
本文实例讲述了Python正则替换字符串函数re.sub用法.分享给大家供大家参考,具体如下: python re.sub属于python正则的标准库,主要是的功能是用正则匹配要替换的字符串然后把它替 ...