if语句:

$day = date('w');

if($day == 0){

echo '星期天';

}else if($day == 1){

echo '星期一';

}else if($day == 2){

echo '星期二';

}

else if($day == 3){

echo '星期三';

}

else if($day == 4){

echo '星期四';

}

else if($day == 5){

echo '星期五';

}

else if($day == 6){

echo '星期六';

}

echo date('G-i-s');//时分秒,G表示24小时制,h表示12小时制

image.png

switch语句:

switch 语句一行接一行地执行(实际上是语句接语句)。

开始时没有代码被执行。

仅当一个 case 语句中的值和 switch 表达式的值匹配时 PHP 才开始执行语句,

直到 switch 的程序段结束或者遇到第一个 break 语句为止。

如果不在 case 的语句段最后写上 break 的话,PHP 将继续执行下一个 case 中的语句段。

w在date()函数中:

w - 星期几的数字表示(0 表示 Sunday[星期日],6 表示 Saturday[星期六])

case后面的数字0-6并不是case的编号,而是case的值

在下面这个例子中,case 6的值是6,表达式的值也是6,所以条件成立

结果输出星期六

default。它匹配了任何和其它 case 都不匹配的情况。他是case的特例

相当于else,他后面写不写break都一样,不会报错,一般不写。

$day = date('w');

switch($day){

case 0: echo'星期天';break;

case 1: echo'星期一';break;

case 2: echo'星期二';break;

case 3: echo'星期三';break;

case 4: echo'星期四';break;

case 5: echo'星期五';break;

case 6: echo'星期六';break;

default:echo '参数有误';

}

循环结构:

while:

while(表达式){

代码块

循环结束的语句/条件(这个判断条件也可以写在表达式中)

}

do...while:只有一种语法:

do...while和一般的 while 循环主要的区别是 do-while 的循环语句至少会执行一次

$i = 0;

do {

echo $i;

} while ( $i > 0);

for:

for ($i = 1; $i <= 10; $i++) {

echo $i;

}

foreach:(foreach 仅能够应用于数组和对象)

有两种语法:

foreach (array_expression as $value)

statement

foreach (array_expression as $key => $value)

statement

第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。

第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key。

while:

例子1:

计算 1 + 2 + 3 ...+ 100 = 5050

$i=1;

$sum=0;

while($i<101){

$sum = $sum + $i;

//等号左边是$sum加之后的值

//等号右边是$sum没有加的值

//每次都把新的值加给$sum

//$sum的值每一次都在增加

$i++;

}

echo $sum;

例子2:

计算100以内奇数和

做法一:

$i = 1;

$sum = 0;

while($i <=100){

if($i%2 != 0){

$sum = $sum + $i;

}

$i = $i+2; //$i++;这样写的话,是偶数的项时也会计算

}

echo $sum;

做法二:

$sum = 0;

for($i=1;$i<=100;$i++){

if($i%2==1){

$sum += $i;

}

}

echo $sum;

image.png

do ...while

循环遍历指定代码,只要指定条件为真,就重复循环

$i = 1;

$sum = 0;

do{

$sum = $sum + $i;

$i = $i+2;

}while($i <=100);

echo $sum;

for循环:

for当事先知道脚本应运行多少次时,将使用该循环。

句法:

for (init counter; test counter; increment counter) {

code to be executed;

}

参数:

init counter:初始化循环计数器值

test counter:针对每个循环迭代进行评估。如果它的计算结果为TRUE,则循环继续。如果计算结果为FALSE,则循环结束。

increment counter:增加循环计数器值

计算: 1+2+3...+100=?

for($i=1,$sum = 0;$i<=100; $i++){

$sum = $sum + $i;

}

echo $sum;

$i=1; 可以写在for循环外面

$i++可以写在 $sum = $sum + $i;下面

除了中间的表达式必写以外,前后的初始化表达式和更新表达式都可以写外面。

如果这样写for(;;){}括号内没有任何一个表达式的话,就成了死循环

image.png

嵌套循环:

输出图形:

*

**

***

****

*****

$row = 5;

for($i=1; $i<=$row; $i++){//一共有多少行就循环多少次

//每行有多少个就循环多少次

for($j=1; $j<=$i; $j++){

echo '*';

}

echo '
';

}

image.png

打印图形,每次打印图形比上一次多两个:

打印图形每行比上一行多两个

规律:

i = 1 j = 1 = 2*1-1

i = 2 j = 3 = 2*2-1

i = 3 j = 5 = 2*3-1

$row = 5;

for($i=1; $i<=$row; $i++){//一共有多少行就循环多少次

//每行有多少个就循环多少次

for($j=1; $j<=2*$i-1; $j++){

echo '* ';

}

echo '
';

image.png

练习题:

1.九九乘法表

过桥问题:

一个人有10,0000元,去过桥,当钱数大于50000时,每次收5%税,当钱少于等于50000.每次收5000,问这个人可以过几次桥

3.百钱白鸡:

算经:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一,百钱买百鸡,问鸡翁、鸡母、鸡雏各几何。

1.九九乘法表

× 就是 ×这只是一个符号,不能做乘法运算

规律:

i = 1 1*1=1

i = 2 1*2=2 2*2=4

i = 3 1*3=3 2*3=6 3*3=9

乘法的第一项正好是j,而第二项正好是i,

第二项在每一行中不变,例如1* 2 = 2 2* 2 = 4,第二项是2,是不变的

// ×乘号

$row = 9;

for($i=1; $i<=$row; $i++){//一共有多少行就循环多少次

//每行有多少个就循环多少次

for($j=1; $j<=$i; $j++){

echo $j,'×',$i,'=',$i*$j,'&nbsp';

}

echo '
';

}

image.png

乘法表例题扩展:

// ×乘号

// caption只在table里有居中的效果

// 不在table里就是普通文本,没有其他效果

echo '

echo '

九九乘法表';

for($i=1; $i<=9; $i++){

echo'

';

for($j=1; $j<=$i; $j++){

echo'

', $j,'×',$i,'=',$i*$j,'';

}

echo '

';

}

echo '

';

image.png

打印等腰三角形:

打印等腰三角形

*

***

*****

*******

*********

i=1 4 5-1(第一个星号之前有这么多个空格)

i=2 3 5-2

i=3 2 5-3

i=4 1 5-4

i=5 0 5-5

$sum=4;

for($i = 1; $i <= $sum; $i++){//输出的每一行

for($m=1; $m<=$sum-$i; $m++){//每一行的空格数

echo ' ';

}

for($j = 1; $j <= (2*$i-1); $j++){//每一行的星号个数

echo '*';

}

echo '
';

}

image.png

空心等腰三角形:

代码和视频一模一样,但是结果有问题:

$row=10;//星号层数

for($i=1; $i<=$row; $i++){//输出的每一行

for($m=1; $m<=$row-$i; $m++){//每一行的空格数

echo ' ';

}

for($j=1; $j<=(2*$i-1); $j++){//每一行的星号个数

if($i==1 || $i==$row){//如果是第一行和最后一行全打印

echo '*';

}else{

if($j==1 || $j==2*$i-1){//第一个*和最后一个*打印

echo '*';

}else{//其他时候打印空格

echo ' ';

}

}

}

echo '
';

}

image.png

过桥问题:

一个人有10,0000元,去过桥,当钱数大于50000时,每次收5%税,当钱少于等于50000.每次收5000,问这个人可以过几次桥

// 过桥问题:

//钱大于5000才让过

$money = 100000;

$num = 0;

while($money>5000){//while循环一次相当于过一次桥

if($money>50000){//钱超过50000时

$money = $money-$money*0.05;

}else{

$money -= 5000;//钱少于50000时,每次收5000

}

$num++;

}

echo $num;

image.png

过桥第二种写法:

// 过桥问题:

//先不查验钱的多少,进入循环再查

$money = 100000;

$num = 0;

while($money>0){//无论有钱没钱,先过再查

if($money>5000){//当钱大于5000时允许过桥,否则不让过

if($money>50000){//当钱大于50000时的收费

$money = $money-$money*0.05;

}else{//当钱少于50000时的收费

$money -= 5000;

}

$num++;

}else{//钱不够5000,不让过桥,直接跳出循环

break 1;

}

}

echo $num;

上面这个例子用到了break,break后面的数字是1的话可以不写。

break后面是可以跟数字的,这个数字代表他要跳出几层循环,这里break外只有1层循环,所以只能是1,如果有多层循环需要跳出,可以写其他数字,但是只有1层循环,这里写2的话,就会报错。

百钱白鸡问题:

第一种写法:

一共要循环100 * 100 * 100次,

for($g=1; $g<=100; $g++){//只要$g<=100就继续循环

for($m=1; $m<=100;$m++){//只要$g<=100;且$m<=100;就继续循环

for($x=1; $x<=100;$x++){//只要$g<=100;且$m<=100;且$x<=100;就继续循环

if($g+$m+$x == 100 && 5*$g+3*$m+$x/3 == 100){

//在for循环条件成立的前提下,当鸡翁、鸡母、鸡雏相加=100,且鸡翁、鸡母、鸡雏价格=100时,输出$g $m $x的值.

echo "鸡翁:$g 只, 鸡母:$m 只 鸡雏:$x 只
";

}

}

}

}

image.png

第二种写法:

这种写法只需要写20*33次就可以了

for($g=1; $g<=20; $g++){//只要$g<=20就继续循环,公鸡不可能超过20只

for($m=1; $m<=33;$m++){//只要$g<=20;且$m<=33;就继续循环,母鸡不可能超过33只

$x = 100-$g-$m;//上面有了公鸡/母鸡的只数,只需要用100减去他们的值就好了.

if($g+$m+$x == 100 && 5*$g+3*$m+$x/3 == 100){

echo "鸡翁:$g 只, 鸡母:$m 只 鸡雏:$x 只
";

}

}

}

php循环5000条会不会崩,PHP -- 循环相关推荐

  1. 2022-02-22:机器人大冒险。 力扣团队买了一个可编程机器人,机器人初始位置在原点(0, 0)。小伙伴事先给机器人输入一串指令command,机器人就会无限循环这条指令的步骤进行移动。指令有两种

    2022-02-22:机器人大冒险. 力扣团队买了一个可编程机器人,机器人初始位置在原点(0, 0).小伙伴事先给机器人输入一串指令command,机器人就会无限循环这条指令的步骤进行移动.指令有两种 ...

  2. 【转】iOS弹幕库OCBarrage-如何hold住每秒5000条巨量弹幕

    最近公司做新需求, 原来用的老弹幕库, 已经无法满足需要. 迫不得已自己写了一套弹幕库OCBarrage. 这套弹幕库轻量, 可拓展, 高度自定义, 超高性能, 简单易上手.  无论哪家公司软件的性能 ...

  3. Python爬取B站5000条视频,揭秘为何千万人为它流泪

    作者 | Yura编辑 | 胡巍巍来源 | CSDN(ID:CSDNnews) 导语:我们特邀作者Yura爬取B站5000条视频,为你揭秘电影<哪吒>的更多"优秀梗", ...

  4. Python爬取B站5000条视频,揭秘为何千万人看「哪吒」流泪

    导读:<哪吒>看哭了无数人!有很多小朋友,一开始他们还被太乙真人的滑稽,逗得哈哈笑.到了哪吒成魔要杀父亲.跪别父母.因为宿命不得以和敖丙为敌时,影院里突然安静下来. 人们喜欢<哪吒& ...

  5. python数据分析的发展前景_Python+BI分析5000条招聘数据,原来数据分析工作在这儿最好找...

    这两年的大数据热潮带火了数据分析这个职业,很多人想转行干数据分析,但是又不知道现在这个行业的求职环境和前景如何,动了心却不敢贸然行动. 前两天有个干运营的妹子找我聊天,也是问我数据分析岗位前景的问题, ...

  6. Python 爬取 B 站 5000 条视频,揭秘为何千万人为它流泪!

    [CSDN 编者按]<哪吒>看哭了无数人!编者看的那场,有很多小朋友,一开始他们还被太乙真人的滑稽,逗得哈哈笑.到了哪吒成魔要杀父亲.跪别父母.因为宿命不得以和敖丙为敌时,影院里突然安静下 ...

  7. 【企查查】高级查询下突破导出5000条/10次限制思路tips,完整全量导出

    [企查查.天眼查.企业信息,企业目录] 高级查询界面 限制条件 突破思路 结果展示 高级查询界面 限制条件 即使VIP,对单个筛选条件下的查询数据也只能有前5000条.并且有导出次数限制 突破思路 1 ...

  8. 免费的阿里云短信(5000条)

    免费的阿里云短信(5000条) 曾经因为一些原因买了5000条短信用量,但是后面一直没有使用,今天偶然上线看到居然还有那么多条,不用可惜了,于是开源出来,如果有帮助,希望可以点个star 地址 fre ...

  9. Oracle插入数据每5000条提交一次

    Oracle插入数据每5000条提交一次 declarei_count int;i_large int; begini_count := 1;select ceil(count(1) / 5000)i ...

  10. Python用5000+条数据为你分析《我不是药神》登顶原因!(附代码)

    来源:51CTO技术栈 作者:刘晓明 本文共1400字,建议阅读6分钟. 本文带你爬取豆瓣.猫眼.淘票票等网站上<我不是药神>的信息并用Python进行分析. <我不是药神>是 ...

最新文章

  1. 2021年春季学期-信号与系统-第八次作业参考答案-第八小题
  2. 在 .NET Compact Framework 2.0 中宿主 ActiveX 控件
  3. 三栏布局(两边固定,中间自适应)
  4. plsql动态的sql
  5. 用DMA方式从串行USART口连续接收数据,怎样确认收到一个完整的包讨论
  6. python基础学习(五)第一次修改
  7. 简单绘图软件实现mfc大作业_生产流程图怎么做?简单易上手的流程图工具
  8. 外媒:为何说中国对美国科技行业的影响与日俱增
  9. Linux系统7z文件解压
  10. mysql修改密码后phpmyadmin 出现#1045
  11. 第12章 使用Samba或NFS实现文件共享
  12. leetcode 42 python
  13. 2019 ACM/ICPC 南京站 E.Observation,区间筛
  14. C++基础学习笔记 day03
  15. Linux——Linux系统编程之基于TFTP实现服务器与开发板间的文件传输实战总结
  16. 企业降低包装成本的13种简单方法(下篇)
  17. 数学建模学习笔记---Mooc1
  18. 2020中国项目经理视频直播大会成功举办
  19. python合并word表格_python合并word
  20. git 常见问题汇总(更新中)

热门文章

  1. mysql双主配置及其注意事项
  2. Centos网络管理(五)-Bonding、网络组和网桥
  3. Sql Server 分区之后增加新的分区
  4. 从排序开始(三)归并排序
  5. euraka有哪些组件_SpringCloud及其五大常用组件之Eureka和Zuul
  6. 现金支票打印模板excel_好用的支票打印软件
  7. java人员工作建议_给JAVA设计开发新手的一些建议和意见(1)
  8. 有关C++的标准模板库(STL)的一些个人易错点
  9. linux 占用缓存前10_Linux查看内存使用情况应该使用什么命令
  10. 完成一个简单的时间片轮转多道程序内核代码