第八天(php循环与数组)
来源:互联网 发布:怎样成为一个网络写手 编辑:程序博客网 时间:2024/06/05 12:43
复习:
掌握一门新语言的基本步骤
(1)背景 PHP、JSP、ASP.NET、Node.js
(2)搭建环境
(3)变量和常量
$变量名= 值;
const 常量名=值; define(‘常量名’, 值);
(4)数据类型——三大类八小种
标量类型/值类型:int、float、bool、string
复合类型:array、object
其它类型:null、resource
(5)运算符
算术:+ - * / % ++ –
比较:><>= <= == === != !==
逻辑:&& || !
赋值:= += -= *= /= %= .=
位:<<>>
字符串拼接: .
三目: 表达式1 ? 表达式2 : 表达式3
(6)逻辑结构
顺序执行
选择执行 if…else… switch…case…
循环执行
练习:数据库保存员工的政治面貌,使用一个数字,如1-党员、2-团员、3-群众、其它-未知;创建一个整型变量保存一个政治面貌,输出对应的字符串
要求:使用三种方式实现
今日目标:
(1)循环结构 —— while —— 掌握
(2)循环结构 —— do..while —— 掌握
(3)循环结构 —— for —— 重点
(4)循环结构 —— foreach —— 重点
(5)数组 —— 重点&难点
1.循环结构 —— while循环
语法: while( 循环条件){
循环主体
}
含义:当“循环条件”为true时,就执行一遍“循环主体”;再次判定….
练习1:使用while循环从0输出到9
练习2:使用while循环在一行中输出50个※
练习3:使用while循环输出10行50列的※
※※※※※※※※※※※※※※※※※※※※※※※
※※※※※※※※※※※※※※※※※※※※※※※
方法1: 逢50输出一个
while + if
方法2: 把”一行+
”循环10遍 while+while
<?php/**循环结构——while **/#10行50列的※$i = 0; //当前已经打印的※的次数//思路1:while( $i<500 ){ //打印500个※ echo "※"; $i++; //每打50的整数倍个就要输出一个<br> if($i%50===0){ echo "<br>"; }}echo "<hr>";//思路2:执行10遍 “输出50个※+<BR>” $k = 0; //记录内层小循环已经执行的次数while( $k<10 ){ //////////////////////////////////// $j = 0; //当前在一行中已经打印的※数量 while( $j<50 ){ echo "※"; $j++; } echo "<br>"; ///////////////////////////////////// $k++;}?>
2.循环结构 —— do…while循环
语法: do{
循环主体;
}while( 循环条件);
含义: 执行循环主体,再判定循环提交是否满足,若满足则再次执行循环主体,否则就退出循环
区别:do…while… 循环主体至少执行一次;while… 循环的主体则可能一次都不执行。
练习1:使用do..while循环从0输出到9
练习2:使用do..while循环在一行中输出50个※
练习3:使用do..while循环输出10行50列的※
3.循环结构 —— for循环
语法: for(表达式1; 表达式2; 表达式3){
循环主体;
}
含义: 首先执行且仅执行一次表达式1——一般用于给计数器赋初始值。再执行表达式2的判定,若为true,则执行循环主体;循环主体执行完后,再执行表达式3——一般是计数器改变;然后再次执行表达式2的判定,若为true,则执行循环主体…..
练习1:使用for循环从0输出到9
练习2:使用for循环在一行中输出50个※
练习3:使用for循环输出10行50列的※
练习4:计算1/5+1/10+1/15+1/20+…1/50=?
分析:
练习6:通用小程序:使用※打印如下的图形:
※ 1-1
※※ 2-1/2
※※※ 3-1/2/3
※※※※ 4-1/2/3/4
※※※※※ 5-1/2/3/4/5
练习7:通用小程序:使用※打印如下的图形:
※※※※※ 1-1/2/3/4/5
※※※※ 2-1/2/3/4
※※※ 3-1/2/3
※※ 4-1/2
※ 5-1
<?php/**循环结构——for **/for($i=1; $i<=5; $i++){ //控制行 for($j=1; $j<=6-$i; $j++){ //控制一行中的列 echo "※"; } echo "<br>";}?>
4.数组 —— Array —— 重要
保存一个学生的成绩:
注意:
(1)数组和普通变量不同
(2)数组变量不能使用echo进行输出!
(3)保存在数组变量的中每个值都需要有一个下标(序号),访问某个特定的元素,需要使用其下标
语法:
$变量名 = [ 值1, 值2, …. ];
访问第$i个元素:
获得数组中元素的个数:
count($变量名)
添加新元素:
$变量名[] = 新的元素值;
<?php/**使用数组保存多个值**/$arrScores = [98, 75, 92, 87, 77, 68];#echo $arrScores; //错误var_dump($arrScores); //允许echo $arrScores[0];echo $arrScores[1];echo $arrScores[2];echo $arrScores[3];echo $arrScores[4];#echo $arrScores[5]; //错误,下标5不存在echo "<hr>";echo count( $arrScores ); //返回数组中元素的个数echo "<hr>";//后来,向数组添加新元素$arrScores[6] = 10; //7$arrScores[7] = 12; //8$arrScores[ count($arrScores) ] = 13; //9$arrScores[ count($arrScores) ] = 14; //10$arrScores[ ] = 15; $arrScores[ ] = 16; $arrScores[ ] = 17; echo "<hr>";#练习:使用for循环输出数组中的每个元素for($i=0; $i<count($arrScores); $i++){ echo $i . ' ' . $arrScores[$i].'<br>';}?>
练习:创建一个空数组,向其中保存一个员工的工资,再向其中保存一个员工的工资,再向其中保存一个员工的工资,再向其中保存一个员工的工资,使用循环输出所有的工资值
课后练习:
(1)通用小程序:使用while、do..while、for循环三种方法输出“九九乘法表”
(2)通用小程序:打印出所有的“水仙花数”。水仙花数是指一个 3 位正整数,它的每个位上的数字的三次方之和等于它本身。(例如:1*1*1 + 5*5*5+ 3*3*3 = 153)
<?php/*打印所有的三位水仙花数153 = 1*1*1 + 5*5*5 + 3*3*3思路:从100~999挨个尝试,取出每个数的百位、十位、个位的数字 328/100 = 3.28 */ //echo (328-328%100)/100;//echo intval(328/100); //强制把一个浮点数转换为整数//echo intval( (328-3*100)/10 );//echo (328%100-8)/10;for($i=100; $i<1000; $i++){ $geWei = $i%10; //个位 $shiWei = ($i%100-$geWei)/10; //十位 $baiWei = ($i-$i%100)/100; //百位 if($i=== $geWei*$geWei*$geWei + $shiWei*$shiWei*$shiWei + $baiWei*$baiWei*$baiWei){ echo $i." "; }}echo "<hr>";for($b=1; $b<=9; $b++){ //百位 for($s=0; $s<=9; $s++){ //十位 for($g=0; $g<=9; $g++){ //个位 if($b*$b*$b+$s*$s*$s+$g*$g*$g === $b*100+$s*10+$g){ echo $b*100+$s*10+$g . " "; } } }}
(3)通用小程序:输出100以内的质数/素数——只能被1和它自身整除的数 —— 思路:
外层循环$i从2~100
内层循环$j
从2~$i-1
,每个都试着整除
- 第八天(php循环与数组)
- PHP基础加强(第八天)
- php实战第八天
- php入门第八天
- php复习 第八天 日期与时间函数
- java入门第八天 数组的复制扩容(截取)
- 十天学会php之第八天(分页)
- 第八天 流(文件的读与写)
- 服务&广播与服务day2(66期第八天)
- 十天学会php之第八天
- 十天学会php之第八天
- 十天学会php之第八天
- 十天学会php之第八天
- 十天学会php之第八天
- 十天学会php之第八天
- 十天学会php之第八天
- java基础第八天——正则、集合与数组的区别
- 第八天(Using Models)
- redis安装
- Next Permutation:已知某个排列求下个排列
- 水题感想
- django redis缓存
- UVA 1279
- 第八天(php循环与数组)
- 《推荐系统实践》要点思维导图
- IaaS、PaaS、SaaS区别举例
- set容器的一些用法
- C语言输出最大值最小值
- 服务注册与发现以及Zookeeper的引入
- Java知识---awt--布局
- 29-类中的函数重载
- [spark] Task成功执行的结果处理