转载请标明出处:
http://blog.csdn.net/hai_qing_xu_kong/article/details/50976608
本文出自:【顾林海的博客】

前言

还有一个多月离开公司,在这段时间可以补充一下其它方面的知识,除本身android外,对服务器端也应该了解下。当然学一门语言应该把基础打牢,不要想着一口吃大饼。

条件控制语句

条件控制语句主要有if、if…else、elseif和switch4种。

if语句

几乎所有的程序设计语言都有if语句,它按照条件选择执行不同的代码片段。PHP的if语句格式为:

if(expr)statement;

如果表达式expr值为真,那么就顺序执行statement语句,否则就会跳过该条语句,再往下执行,如果需要执行的语句不止一条,那么可以使用“{}”,在“{}”中的语句被称为语句组,格式为:

if(expr){statement1;statement2;...}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$num=rand(1,20);//使用rand()函数生成一个随机数
if($num%2==0){echo "\$num=$num";echo "<br>$num 是偶数";
}?></body>
</html>

运行结果:
$num=16
16 是偶数

if…else语句

大多数情况下,总是需要在满足某个条件时执行一条语句,而在不满足该条件时执行其他语句。这是可以使用if…else语句,语法格式为:

if(expr){statement1;
}else{statement2;
}

该语句的含义为:当表达式expr为真时,执行statement1;如果表达式expr为假,则执行statement2。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$num=rand(1,20);//使用rand()函数随机生成一个数
if($num%2==0){echo "变量$num 是偶数";
}else{echo "变量$num 是奇数";
}?></body>
</html>

运行结果:
变量5 是奇数

elseif语句

if…else语句只能选择两种结果:要么执行真,要么执行假。但有时会出现两种以上的选择,这时可以使用elseif语句来执行,语法格式为:

if(expr1){statement1;
}else if(expr2){}
...
else{statementn;
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$month=date("n");
$today=date("j");
if($today >=1 and $today <= 10){echo "今天是".$month."月".$today."日上旬";
}elseif($today >10 and $today <= 20){echo "今天是".$month."月".$today."日中旬";
}else{echo "今天是".$month."月".$today."日下旬";
}?></body>
</html>

运行结果:
今天是3月24日下旬

注意:运行以上时有可能会出现这种情况, Warning: date(): It is not safe to rely on the system’s timezone settings. You are required to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone ‘UTC’ for now, but please set date.timezone to select your timezone.
可以通过以下方式修复:
方法1:
(最好的方法)在php.ini里加上找到date.timezone项,设置date.timezone = “Asia/Shanghai”,重启环境就ok了。
方法2:
在需要用到这些时间函数的时候,在页面添加date_default_timezone_set(“PRC”);
方法3:
在页头加上设置时区ini_set(‘date.timezone’,’Asia/Shanghai’);

switch…case多重判断语句

虽然elseif语句可以进行多重选择,但使用时十分繁琐。为了避免if语句过于冗长,提供程序的可读性,可以使用switch多重判断语句。语法格式如下:

switch(variable){case value1:statement1;break;case value2:...default:default statement;
}

switch语句根据variable的值,依次与case中value值相比较,如果不相等,继续查找下一个case,如果相等,就执行对应的语句,直到switch语句结束或遇到break为止。一般来说,switch语句最终都有一个默认值default,如果在前面的case中没有找到相符的条件,则输出default后的语句,和else语句类似。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$num=rand(0,4);
switch($num){
case 0:echo "这是一个0";break;
case 1:echo "这是一个1";break;
default:echo "找不到了";break;
}?></body>
</html>

运行结果:
这是一个1

循环控制语句

条件控制语句,可以根据条件选择执行不同的语句。但有时需要重复使用某段代码或函数。

while循环语句

while循环是PHP中最简单的循环语句,它的语法格式为:

while(expr){statement;
}

当表达式expr的值为真时,将执行statement语句,执行结束后,再返回到expr表达式继续进行判断。直到表达式的值为假,才跳出循环,执行下面的语句。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$num=1;
$str="10以内的偶数为:";
while($num <= 10){if($num % 2 == 0){$str.=$num." ";}$num++;
}
echo $str;?></body>
</html>

运行结果:
10以内的偶数为:2 4 6 8 10

do…while循环语句

while语句还有另一种形式的表示,即do…while。两者的区别在于,do…while要比while语句多循环一次。当while表达式的值为假时,while循环直接跳出当前循环;而do…while语句则是先执行一遍程序块,然后再对条件表达式进行判断。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$num=1;
while($num != 1){echo "不会看到";
}do{echo "会看到";
}while($num != 1);?></body>
</html>

运行结果:
会看到

for循环语句

for循环是PHP中最复杂的循环结构,它的语法格式为:

for(expr1;expr2;expr3){statement;
}

其中,expr1在第一次循环时无条件取一次值;expr2在每次循环开始前求值,如果值为真,这执行statement,否则跳出循环,继续往下执行;expr3在每次循环后被执行。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$num=1;
for($i=1;$i <= 100;$i++){$num*=$i;
}
echo "100!=".$num;
?></body>
</html>

运行结果:
100!=9.3326215443944E+157

foreach循环语句

foreach循环时PHP4引进来的,只能用于数组,在PHP5中,又增加了对对象的支持。语法格式:

foreach(array_expression as $value)statement;

foreach(array_expression as $key => $value)statenment;
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$name=array("1"=>"Jack","2"=>"Ben","3"=>"Bill");
foreach($name as $key => $value){echo " ".$name[$key];
}
?></body>
</html>

运行结果:
Jack Ben Bill

流程控制的另一种书写格式

在一个复杂的PHP页面中,可能包含多个条件控制语句、循环控制语句和函数,仅查找匹配的大括号“{}”就非常麻烦。为此,PHP提供了另一种书写格式,包括if、while、for、foreach和switch都可以使用。书写格式的基本形式是:使用冒号”:”来代替左边的大括号“{”;使用endif;、endwhile、endfor、endforeach;和endswitch;来的代替右边的大括号“}”。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/>
<title>PHP语言基础</title></head>
<body><?php
header("Content-Type:text/html;   charset=gb2312");
$ss=2;
$max=1000;
$arr=array();
echo $max."以内的素数为:";
while($ss < $max):$boo=false;foreach($arr as $value):if($ss % $value ==0):$boo=true;break;endif;endforeach;if(!$boo):echo $ss." ";$arr[count($arr)]=$ss;endif;$ss++;
endwhile;
?></body>
</html>

运行结果:
1000以内的素数为:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503 509 521 523 541 547 557 563 569 571 577 587 593 599 601 607 613 617 619 631 641 643 647 653 659 661 673 677 683 691 701 709 719 727 733 739 743 751 757 761 769 773 787 797 809 811 821 823 827 829 839 853 857 859 863 877 881 883 887 907 911 919 929 937 941 947 953 967 971 977 983 991 997

使用break/continue语句跳出循环

在使用循环语句时,有时不确定循环的次数,遇到这种情况可以使用无限循环,如:

while(true){...
}

for(;;){...
}

只有当程序块满足一定条件后才跳出循环,跳出循环使用的关键字是break和continue。

break关键字可以终止当前的循环,包括while、do…while、for、foreach和switch 在内的所有控制语句。
break语句不仅可以跳出当前的循环,还可以指定跳出几层循环,格式为:

break $num;

参数$num 指定要跳出几层循环。

continue关键字的作用没有break强大,continue只能终止本次循环而进入到下一次循环中,continue也可以指定跳出几重循环。

PHP学习笔记-流程控制语句相关推荐

  1. java跳转控制语句有哪些_Java语言基础学习之流程控制语句和跳转控制语句实例分析...

    本文主要向大家介绍了Java语言基础学习之流程控制语句和跳转控制语句实例分析,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 一.流程控制语句 在一个程序执行的过程中,各条语句的执行顺 ...

  2. Java学习笔记——流程控制

    Java学习笔记--流程控制 Day05 一.用户交互Scanner 1.Scanner对象 我们通过Java工具包java.util.Scanner中的Scanner类来获取用户的输入 基本语法:S ...

  3. Java程序员学习Go_流程控制语句

    流程控制语句 流程控制语句 if else(分支结构) for(循环结构) switch case 跳出循环在Java和go中的关键字:break 继续下次循环在Java和go中的关键字:contin ...

  4. c#笔记-流程控制语句

    随机数 为了展示流程控制的作用,需要每次执行程序时都使用不一样的值. 无论是每次都修改源码,还是从控制台读取输入都太麻烦了. 所以使用随机数进行测试. 随机数的使用方式如下,使用随机数类,获取一个默认 ...

  5. java学习第三天笔记-流程控制语句-分支结构66-if的第二种格式

  6. python顺序控制语句_Python学习之 流程控制语句

    程序结构 程序设计中有 3 种基础的结构,分别是顺序结构.选择结构和循环结构. 本章节之前编写的多数例子都是顺序结构的,这一张主要介绍一下选择结构和循环结构. 选择语句 最简单的 if 语句 Pyth ...

  7. Python学习笔记——流程控制(拉勾教育数据分析实战训练营学习笔记)

    流程控制 1 程序结构 顺序结构 ​ 按编写顺序依次执行 选择结构 ​ 根据条件选择的结果,选择执行不同的语句 循环结构 ​ 在一定条件下,反复执行某段程序 2 选择语句 2.1 if语句 语法规则 ...

  8. 【Js学习之流程控制语句】

    文章目录 流程控制:分支(条件).循环分支语句 条件语句 循环语句 递归 流程控制:分支(条件).循环分支语句 条件语句 if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码 if ( ...

  9. JAVASE学习笔记 流程控制中判断与选择练习题

    1.从键盘上输入一个分数,如果60分(含)以上,就打印合格,如果在60分以下,就打印不合格 package test.disanzhang; //导包,注意导包的位置在class的上面 import ...

最新文章

  1. R语言ggplot2可视化:为可视化图像添加多行标题(multi line title)并将多行标题居中对齐(center align)
  2. sample, batch, epoch 分别是什么?
  3. 7种从头开始免费学习编程的方法
  4. git学习笔记(四)—— 分支管理
  5. 发布会预告 | 多账号管控与网络安全集中化管理能力升级
  6. S5P4418/S5P6818核心板EMMC已由原来的4.5版本升级到5.1版本
  7. oracle-11g-R2监听文件配置
  8. P3275 [SCOI2011]糖果
  9. python元祖封包_[Day8]遷延蹉跎,來日無多-python終極指南:模組和封包,外掛般的超能力...
  10. java数组给名字排序_用Java给数组排序
  11. python : yield 的工作机制
  12. php tokenizer获取所有类,PHP Tokenizer 学习笔记
  13. # 20165208 2017-2018-2 《Java程序设计》第三周错题总结
  14. zabbix3.4+grafana5.0.1数据可视化
  15. 使用SQL的全文搜索功能构建 Web 搜索应用程序
  16. 2017年初BAT的JAVA面试题汇集
  17. 多层材料热压工艺探索
  18. 有什么新手适合的3D建模软件
  19. 【Spring Cloud sunX】中间件容器化部署
  20. 出场、入场动画大全,基于NineOldAndroids轻松实现动画效果

热门文章

  1. python多线程和多进程的使用_python多线程与多进程
  2. Facebook高管:我们是科技公司 不是媒体公司
  3. 数组、链表、Hash(转)
  4. DevExpress z
  5. Oracle 基础之数据库管理
  6. solaris下使用USB 海量存储设备
  7. Windows与Linux区别3
  8. springboot拦截器@Autowired为null解决
  9. window 杀死已开任务启命令
  10. 78. Subsets