PHP Switch 语句之学习笔记
PHP 中的 Switch 语句用于执行基于多个不同条件的不同动作。
Switch 语句
如果您希望有选择地执行若干代码块之一,请使用 Switch 语句。
使用 Switch 语句可以避免冗长的 if..elseif..else 代码块。
语法
代码如下 | 复制代码 |
switch (expression) |
实例
工作原理:
对表达式(通常是变量)进行一次计算
把表达式的值与结构中 case 的值进行比较
如果存在匹配,则执行与 case 关联的代码
代码执行后,break 语句阻止代码跳入下一个 case 中继续执行
如果没有 case 为真,则使用 default 语句
代码如下 | 复制代码 |
<?php </body> |
if、elseif 以及 else 语句用于执行基于不同条件的不同动作。
条件语句
当您编写代码时,您常常需要为不同的判断执行不同的动作。
您可以在代码中使用条件语句来完成此任务。
if…else 语句
在条件成立时执行一块代码,条件不成立时执行另一块代码
elseif 语句
与 if…else 配合使用,在若干条件之一成立时执行一个代码块
If…Else 语句
如果您希望在某个条件成立时执行一些代码,在条件不成立时执行另一些代码,请使用 if….else 语句。
语法
if (condition)
code to be executed if condition is true;
else
code to be executed if condition is false;
实例
如果当前日期是周五,下面的代码将输出 “Have a nice weekend!”,否则会输出 “Have a nice day!”:
代码如下 | 复制代码 |
<html> <?php </body> |
如果需要在条件成立或不成立时执行多行代码,应该把这些代码行包括在花括号中:
代码如下 | 复制代码 |
<html> <?php </body> |
ElseIf 语句
如果希望在多个条件之一成立时执行代码,请使用 elseif 语句:
语法
if (condition)
code to be executed if condition is true;
elseif (condition)
code to be executed if condition is true;
else
code to be executed if condition is false;
实例
如果当前日期是周五,下面的例子会输出 “Have a nice weekend!”,如果是周日,则输出 “Have a nice Sunday!”,否则输出 “Have a nice day!”:
代码如下 | 复制代码 |
<html> <?php </body> |
PHP中的循环主要用户执行相同代码块运行指定的次数。
PHP循环主要有四种:while,do…while,for,foreach。下面我们分开讲解每种循环的用法。
while语句:
只要指定的条件成立,则循环执行代码块。
格式:
while(expr)
{
statement;
}
语义:首先判断expr,如果表达式expr为假则结束;如果表达式expr为真,执行statement语句,执行完毕再次判断expr,若表达式expr仍为真,则继续执行statement语句;直至表达式expr为假,结束。
例:
代码如下 | 复制代码 |
<?php |
上面的例子示范了一个循环,只要变量 i 小于或等于 5,代码就会一直循环执行下去。循环每循环一次,变量就会递增 1,然后输入i的值;
do…while 语句:
首先执行一次代码块,然后在指定的条件成立时重复这个循环.
格式:
do{
statement;
}
while(expr)语义:首先执行一次statement语句,然后再判断expr,如果表达式expr为假则结束;如果表达式expr为真,则继续循环执行statement语句,执行完毕再次判断expr,若表达式expr仍为真,则继续执行statement语句;直至表达式expr为假,结束。
注意:他和while的区别在于,do…while第一次不进行任何判断就执行一次语句,然后再进行判断条件是否成立,这里要注意,其他和while是一样的。
例子:
代码如下 | 复制代码 |
<?php |
上面的例子示范了一个循环,我给变量i赋值6,这里很显然和while中的条件相比较是不成立的,但结果输入6,也就是之前说的do…while语句,他第一次没进行任何判断,先执行一次,然后再判断条件是否成立。
for 语句
:如果您已经确定了代码块的重复执行次数,则可以使用 for 语句。
语法
for (initialization; condition; increment)
{
code to be executed;
}
语义:for 语句有三个参数。第一个参数初始化变量,第二个参数保存条件,第三个参数包含执行循环所需的增量。如果 initialization 或 increment 参数中包括了多个变量,需要用逗号进行分隔。而条件必须计算为 true 或者 false。
例子:
下面的例子会把文本 “Hello World!” 显示 5 次:
代码如下 | 复制代码 |
<?php |
foreach 语句:foreach 语句用于循环遍历数组。
每进行一次循环,当前数组元素的值就会被赋值给 value 变量(数组指针会逐一地移动) – 以此类推。
语法
foreach (array as value)
{
code to be executed;
}
例子
下面的例子示范了一个循环,这个循环可以输出给定数组的值:
代码如下 | 复制代码 |
<?php |
释义:首先我定义一个数组arr,然后我使用foreach来循环,其中($arr as $value)的意思是,把$arr数组中的值赋给$value,然后执行语句是输出$value的值。
输出的结果为:
one
two
three
什么是数组?
在使用 PHP 进行开发的过程中,或早或晚,您会需要创建许多相似的变量。
无需很多相似的变量,你可以把数据作为元素存储在数组中。
数组中的元素都有自己的 ID,因此可以方便地访问它们。
有三种数组类型:
数值数组
带有数字 ID 键的数组
关联数组
数组中的每个 ID 键关联一个值
多维数组
包含一个或多个数组的数组
数值数组
数值数组存储的每个元素都带有一个数字 ID 键。
可以使用不同的方法来创建数值数组:
例子 1
在这个例子中,会自动分配 ID 键:
代码如下 | 复制代码 |
$names = array("Peter","Quagmire","Joe"); |
例子 2
在这个例子中,我们人工分配的 ID 键:
代码如下 | 复制代码 |
$names[0] = "Peter"; <?php $names[0] = "Peter"; echo $names[1] . " and " . $names[2] . " are ". $names[0] . "'s neighbors"; 以上代码的输出: Quagmire and Joe are Peter's neighbors |
关联数组
关联数组,它的每个 ID 键都关联一个值。
在存储有关具体命名的值的数据时,使用数值数组不是最好的做法。
通过关联数组,我们可以把值作为键,并向它们赋值。
例子 1
在本例中,我们使用一个数组把年龄分配给不同的人:
代码如下 | 复制代码 |
$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34); |
例子 2
本例与例子 1 相同,不过展示了另一种创建数组的方法:
代码如下 | 复制代码 |
$ages['Peter'] = "32"; $ages['Quagmire'] = "30"; $ages['Joe'] = "34"; |
可以在脚本中使用 ID 键:
代码如下 | 复制代码 |
<?php $ages['Peter'] = "32"; echo "Peter is " . $ages['Peter'] . " years old."; 以上脚本的输出: Peter is 32 years old. |
多维数组
在多维数组中,主数组中的每个元素也是一个数组。在子数组中的每个元素也可以是数组,以此类推。
例子 1
在本例中,我们创建了一个带有自动分配的 ID 键的多维数组:
代码如下 | 复制代码 |
$families = array Array |
例子 2
让我们试着显示上面的数组中的一个单一的值:
代码如下 | 复制代码 |
echo "Is " . $families['Griffin'][2] . 以上代码的输出: Is Megan a part of the Griffin family? |
+ :
首先出现的会覆盖后出现的
array_merge:
后出现的会覆盖前面出现的。但是如果是数字索引,则是叠加效果。
代码如下 | 复制代码 |
$array1 = Array( $array2 = Array( array_merge 后: + 后: 情况二: $array1 = Array( $array2 = Array( |
结果很明显:
array_merge就是两个数组的相加,键值如果是数字的话 会重新排列 如果不的话是不会修改
而+是两个数组相加会把相同的键值的值会被前面的数组给替换,如果不一样的键值那就和array_merge一样的效果.
相关文章
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- 这篇文章主要介绍了C#条件语句、循环语句(if、while)的用法,学习c#的朋友可以参考下...2020-06-25
- 我们在php中上传文件就必须使用#_FILE变量了,这个自动全局变量 $_FILES 从 PHP 4.1.0 版本开始被支持。在这之前,从 4.0.0 版本开始,PHP 支持 $HTTP_POST_FILES 数组。这...2016-11-25
- 1、简介Smarty是一个使用PHP写出来的模板PHP模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目...2014-05-31
- 这篇文章主要介绍了c# 循环语句的使用方法,文中代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下...2020-06-25
Mysql 原生语句中save or update 的写法汇总
背景  在平常的开发中,经常碰到这种更新数据的场景:先判断某一数据在库表中是否存在,存在则update,不存在则insert。 如果使用Hibernate,它自带saverOrUpdate方法,用起来很方便,但如使用原生sql语句呢?  ...2015-03-15- 当我们在星际中开地图和几家电脑作战的时候,电脑的几个玩家相当于结盟,一旦我们出兵进攻某一家电脑,其余的电脑会出兵救援。 那么如何让各家电脑知道自己的盟友被攻击了...2016-11-25
- 下面小编就为大家带来一篇jquery if条件语句的写法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-05-20
- 这篇文章主要给大家介绍了关于如何利用JavaScript编写更好的条件语句的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用JavaScript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-08-10
- 举一个简单的date例子 我将使用echo命令把内容输出到我们的客户端(浏览器)。我将使用下面的代码做为基础代码。 代码如下 复制代码 <!DOCTY...2016-11-25
C#实现String字符串转化为SQL语句中的In后接的参数详解
在本篇文章中小编给大家分享的是一篇关于C#实现String字符串转化为SQL语句中的In后接的实例内容和代码,需要的朋友们参考下。...2020-06-25- 今天给大家带来的是关于Python基础的相关知识,文章围绕着Python循环语句展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下...2021-06-15
- 这篇文章主要介绍了关于Nginx中if语句的判断条件与多条件判断的相关资料,文中给出了详细的示例代码,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。...2017-07-06
- 一篇Android学习笔记之多界面切换实例,希望对各位朋友有所帮助。 用过VB 、 VC#的朋友都知道,在VB或VC#里要进行窗口(界面)切换很容易 例如在VB、C#里: 有 Fom1、...2016-09-20
- 引用:意思是将原始对象在内存中的地址传递给目标对象,就相当于原始对象和目标对象指向的是同一个内存地址。此时,如果对目标对象或者原始对象进行修改,内存中的数据也会改...2016-11-25
- 可以采用exec方法 declare @tempStr varchar(350) select @tempStr='Update weekcount set [' convert(varchar,@week) ']=[' convert(varchar,@week) '] 1 where us...2016-11-25
- 这篇文章主要介绍了JavaScript的基本语句,包括注释和书写格式等基本知识,需要的朋友可以参考下,希望本篇文章能给您带来帮助...2021-08-15
- JS循环语句也叫迭代语句,是一种特殊的语句,主要用于需要多次执行的代码块,下面这篇文章主要给大家介绍了关于JavaScript中循环之间的差异的相关资料,需要的朋友可以参考下...2021-08-23
- cURL是php中一个很强大的功能,可以模仿各种用户请求,如模仿用户登录,发送php cookie等等操作,下面我来整理一些相关的方法与各位同学看看 备注:使用curl_init函数,必须...2016-11-25
- 那些年学了ASP.NET后,才开始学习C#,说来也怪,怎么学了ASP.NET才来学习C#,其实没有什么的...2020-06-25