php 流程控制语句
代码如下 | 复制代码 |
switch(variable){ case value1: statement1; break; case value2: … default: defulat statement; } |
switch语句根据variable的值,依次与case中的value值相比较,如果不相等,继续查找下一个
case;如果相等,就执行对应的语句,直到switch语句结束或者遇见break为止。
代码如下 | 复制代码 |
<?php switch ($i) { case "apple": echo "i is apple"; break; case "bar": echo "i is bar"; break; case "cake": echo "i is cake"; break; } ?> |
实例二
代码如下 | 复制代码 |
<?php |
实例三
代码如下 | 复制代码 |
<?php |
if…else语句只能选择两种结果:要么执行真,要么执行假。但现在有2种以上的选择该怎么办
呢?这时,可以使用esleif(也可以写作else if)语句来执行,该语法格式为:
代码如下 | 复制代码 |
if(expression1){ statement1; }else if(expression2){ statement2; } … else{ statementn; } |
实例
代码如下 | 复制代码 |
<?php $moth = date(“n”); $today = date(“j”); if($today >= 1and $today <= 10){ echo’今天是’.$moth.’月’.$today.’日上旬’; }elseif ($today >10 and $today <=20){ echo’今天是’.$moth.’月’.$today.’日中旬’; }else{ echo’今天是’.$moth.’月’.$today.’日下旬’; } ?> |
如果当前日期是周五,下面的例子会输出 "Have a nice weekend!",如果是周日,则输出 "Have a nice Sunday!",否则输出 "Have a nice day!":
代码如下 | 复制代码 |
<html> <?php </body> |
Foreach语句
Foreach循环是php4.0引进来的,只能用于数组。在php5中,又增加了对对象的支持。该语句的语法格式为:
foreach(array_expression as $value)
statement;
或
代码如下 | 复制代码 |
Foreach(array_expression as $key => $value)
or FOREACH ($array_variable as $key => $value) |
在这两种情况下,多次[代码执行]将被处死是等于在$ array_variable数组元素的个数。
让我们来看一个例子。假设我们有下面的代码段:
代码如下 | 复制代码 |
$array1 = array(1,2,3,4,5); 输出结果 new value is 10 |
foreach循环以上经历了所有5个元素的数组$ array1,每次打印出一份声明中含有10倍的数组元素的值。
foreach作用是遍历当前数组的所有值出来并且赋给$var
再来看一个foreach 对多维数据操作实例
代码如下 | 复制代码 |
$s = array(array(1,2),array(3,4),array(5,6)); |
更多详细内容请查看:http://www.111cn.net/phper/18/foreach-foreach.htm
for语句
最基于的遍历
代码如下 | 复制代码 |
<?php for ($i = 1; $i <= 10; $i++) { /* example 2 */ for ($i = 1; ; $i++) { /* example 3 */ $i = 1; /* example 4 */ for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++); |
遍历数组
代码如下 | 复制代码 |
<?php for($i = 0; $i < sizeof($people); ++$i) |
下面再看while 与do while
While循环是php中最简单的循环语句,他的语法格式是:
代码如下 | 复制代码 |
While (expression){ statement; } |
当表达式expression的值为真时,将执行statement语句,执行结束后,再返回到expression表达式继续进行判断。直到表达式的值为假时,才跳出循环。
代码如下 | 复制代码 |
<?php $i = 1; /* example 2 */ $i = 1; |
Do…While语句
While语句还有一种形式的表示,Do…While.语法为:
Do{
statement;
}While(expression);
两者的区别在于:Do…While语句要比While语句多循环一次。
当While表达式的值为假时,While循环直接跳出当前循环,而Do…While语句则是先执行一遍程序块,然后再对表达式进行判断。
实例
代码如下 | 复制代码 |
<?php /* process i */ } while (0); |
注: list() 仅能用于数字索引的数组并假定数字索引从 0 开始。
例子 1. list() 例子
代码如下 | 复制代码 |
<?php $info = array('coffee', 'brown', 'caffeine'); // Listing all the variables list($drink, $color, $power) = $info; echo "$drink is $color and $power makes it special.n"; // Listing some of them list($drink, , $power) = $info; echo "$drink has $power.n"; // Or let's skip to only the third one list( , , $power) = $info; echo "I need $power!n"; ?> |
例子 2. 使用 list() 的例子
代码如下 | 复制代码 |
<table> <tr> <th>Employee name</th> <th>Salary</th> </tr> <?php $result = mysql_query("SELECT id, name, salary FROM employees",$conn); while (list($id, $name, $salary) = mysql_fetch_row($result)) { echo " <tr>n". " <td><a href="info.php?id=$id">$name</a></td>n". " <td>$salary</td>n". " </tr>n"; } ?> </table> |
警告
list() 从最右边一个参数开始赋值。如果你用单纯的变量,不用担心这一点。但是如果你用了具有索引的数组,通常你期望得到的结果和在 list() 中写的一样是从左到右的,但实际上不是。是以相反顺序赋值的。
例子 3. 在 list() 中使用数组索引
代码如下 | 复制代码 |
<?php $info = array('coffee', 'brown', 'caffeine'); list($a[0], $a[1], $a[2]) = $info; var_dump($a); ?> |
产生如下输出(注意单元顺序和 list() 语法中所写的顺序的比较):
代码如下 | 复制代码 |
array(3) { |
代码如下 | 复制代码 |
<? function putFile($file_name,$file_string) $string ='aadb'; |
代码如下 | 复制代码 |
<?php //第二种方法 //第三种方法 ?> |
相关文章
- 这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
- PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
mysql中获取一天、一周、一月时间数据的各种sql语句写法
创建表:复制代码 代码如下:create table if not exists t( id int, addTime datetime default '0000-00-00 00:00:00′)添加两条初始数据:insert t values(1, '2012-07-12 21:00:00′);insert t values(2, '2012-07...2014-05-31- index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
复制代码 代码如下:<?php function jb51(){ print_r(func_get_args()); echo "<br>"; echo func_get_arg(1); echo "<br>"; echo func_num_args(); } jb51("www","j...2013-10-04- 这篇文章主要介绍了C#条件语句、循环语句(if、while)的用法,学习c#的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了PHP编程 SSO详细介绍及简单实例的相关资料,这里介绍了三种模式跨子域单点登陆、完全跨单点域登陆、站群共享身份认证,需要的朋友可以参考下...2017-01-25
- 这篇文章主要介绍了PHP实现创建以太坊钱包转账等功能,对以太坊感兴趣的同学,可以参考下...2021-04-20
- 这篇文章主要为大家详细介绍了php微信公众账号开发之五个坑,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-10-02
- 这篇文章主要介绍了c# 循环语句的使用方法,文中代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下...2020-06-25
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
首先是数据库的设计。分类表叫cate.我做的是分类数据的二级联动,数据需要的字段有:id,name(中文名),pid(父id). 父id的设置: 若数据没有上一级,则父id为0,若有上级,则父id为上一级的id。数据库有内容后,就可以开始写代码,进...2014-05-31- 这篇文章主要介绍了PHP如何通过date() 函数格式化显示时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-11-13
Mysql 原生语句中save or update 的写法汇总
背景  在平常的开发中,经常碰到这种更新数据的场景:先判断某一数据在库表中是否存在,存在则update,不存在则insert。 如果使用Hibernate,它自带saverOrUpdate方法,用起来很方便,但如使用原生sql语句呢?  ...2015-03-15- 今天我给大家分享的是在不刷新页面的前提下,使用PHP+jQuery+Ajax实现多图片上传的效果。用户只需要点击选择要上传的图片,然后图片自动上传到服务器上并展示在页面上。...2015-03-15
- 下面小编就为大家带来一篇jquery if条件语句的写法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-05-20
- 这篇文章主要给大家介绍了关于如何利用JavaScript编写更好的条件语句的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用JavaScript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-08-10
- 这篇文章主要介绍了golang与php实现计算两个经纬度之间距离的方法,结合实例形式对比分析了Go语言与php进行经纬度计算的相关数学运算技巧,需要的朋友可以参考下...2016-07-29
- 这篇文章主要介绍了PHP如何使用cURL实现Get和Post请求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-07-11
- 这篇文章主要介绍了thinkPHP中多维数组的遍历方法,以简单实例形式分析了thinkPHP中foreach语句的使用技巧,需要的朋友可以参考下...2016-01-12
- 这篇文章主要介绍了PHP正则表达式过滤html标签属性的相关内容,实用性非常,感兴趣的朋友参考下吧...2016-05-06