php基础教程 第五步 逻辑控制

逻辑判断

在开发项目时,竟然会出现逻辑控制。例如当用户输入“hello”时你需要自动回复“hello 欢迎”,当用户设置的定时时间到达时,你需要提醒用户时间已经结束;再举个例子,在玩网络游戏时,用户控制的角色被攻击,角色需要减掉相应的HP(血量),用户释放技能时需要减掉相应的MP(魔法值),这些都需要使用逻辑去进行判断,从而减掉相应的值。

这些都是逻辑判断,在php中使用 if 条件语句进行逻辑判断。

if 语句

if语句的语法如下:

<?phpif(条件){条件判断正确在此处输入需要执行的代码;}
?>

以上代码中,if是关键字,关键字是在代码中已经设定了有特殊作用的标识,if是用作条件判断,则if是个关键字。例如先前我们使用过的echo 也是关键字。
查看以上代码的格式标准发现,if后面紧跟着一对圆括号,圆括号中间需要添加条件。这个条件可以是一个表达式(表达式指一个运算组合使用有意义的排列并且有最终值的一个组合,例如1+1、2+2等),或者是一个值。条件例如 1==1、1>2 或者有一个变量a值为1,有一个变量值为2,可以为$a>$b 。
在编写完条件后,使用了一堆花括号{},花括号中编写当条件正确时执行的代码。
查看以下示例方便理解if语句:

<?phpif(2>1){echo '2比1大';}
?>

以上代码中,使用if语句,在条件中添加 2>1,如果2>1条件成立,那么输出2比1大。这个条件显然是成立的,我们输入localhost\index.php 访问网站根目录下的index.php文件(注意一定要开启服务),因为我这个代码编写的文件名为index.php,并且放在了根目录下。
运行结果如下:
在这里插入图片描述
由于条件成立,所以输出了2比1大。这个时候更改条件改为 1>2,代码如下:

<?phpif(1>2){echo '2比1大';}
?>

这个时候条件 1>2 明显是错的,条件不成立,则不会执行第一个花括号{}里面的代码,所以当我们访问该php文件时,并不会输出任何的值:
在这里插入图片描述

if else 语句

以上示例中,如果条件判断错误,不成立并不能提示输出情况这时可以使用else语句。
else语句用来说明当if条件判断不成立后,执行的代码语句。
查看以下示例可以直观的了解:

<?phpif(1>2){echo '2比1大';}else{echo '2比1大 判断错误';}
?>

以上代码多了else语句。在第一个花括号{}后面,增加了一个else进行相连,并且在else后添加了一个花括号,在花括号中编写了 echo '2比1大 判断错误'; 这一条代码。这条代码显示了 2比1大 判断错误 这一条信息。当if条件判断错误,那么则会执行该语句进行显示。
运行结果如下:
在这里插入图片描述
在if语句以及if…else 语句中,不同条件下所执行的语句并不止是一条,可以多条。
示例如下:

<?phpif(1>2){echo '判断正确 ';echo '2比1大';}else{echo '判断错误 ';echo '2比1大';}
?>

以上程序示例均在不同的判断结果中编写了多条语句,这些语句都会执行。
在if 语句中,只执行一个程序块,并不会对错都执行。
在if 语句中,可以使用变量作为条件判断,示例如下:

<?php$a=3;$b=5;if($a>$b){echo '判断正确 ';echo $a.'比'.$b.'大';}else{echo '判断错误 ';echo $a.'比'.$b.'小';}
?>

以上程序示例中,声明且定义了两个变量,一个是a还有一个是b,在条件判断中,判断变量a是否大于b,如果正确则输出第一个if花括号里面的程序,如果输入错误则会执行第二个花括号里面的值。
并且输出的时候使用变量直接输出,使用点 . 运算发连接他们。
结果如下:
在这里插入图片描述

多条件的if语句

或运算||

在if语句中的条件,可以设置为多个,例如我想判断变量a是否大于b或者a是否等于3这个条件,只要满足其中之一都算对。可以写为如下示例:

<?php$a=3;$b=5;if($a>$b||$a==3){echo '判断正确 ';echo $a.'比'.$b.'大 或者变量a 等于3';}else{echo '判断错误 ';echo $a.'比'.$b.'小';}
?>

以上代码中,在if条件内进行了更改:$a>$b||$a==3
需要注意的是,里面多了一个没有见过的运算符号 ||,这个符号的作用是或运算,或运算则表示左右两边有一个正确,那么整个条件判断都为正确。
左边是 $a>$b,如果成立,即使$a不等于3也算整个表达式正确。
右边是 $a==3,如果左边的条件错误,整个判断都算正确。
结果如下:
在这里插入图片描述
当然可以使用多个或运算,如下:

<?php$a=4;$b=5;if($a>$b||$a==3||$a==4){echo '判断正确 ';echo $a.'比'.$b.'大 或者变量a 等于3、4';}else{echo '判断错误 ';echo $a.'比'.$b.'小';}
?>

在if条件的判断中,多了一个$a==4,判断a是否等于4,即使其它条件错误,只要a等于4那么整个表达式都将会正确。

和运算&&

和运算&&必须所有条件都满足正确,整个表达式才都正确。例如如下代码:

<?php$a=11;$b=5;if($a>$b&&$a==11){echo '判断正确 ';echo $a.'比'.$b.'大 并且等于 11';}else{echo '判断错误 ';echo $a.'比'.$b.'小';}
?>

以上代码中把a变量的值更改为了11。在条件判断中,必须满足a变量大于b变量,且a必须是11整个表达式才算正确,他们两个表达式之间使用 && 进行相连。结果如下:
在这里插入图片描述

if…elseif…else语句

当我们需要判断多个条件时需要使用if…elseif 语句进行判断。
例如 天气下雨的时候我在家看电视、天气刮风的时候我出门吹风、天气大太阳的时候我就晒衣服。
代码示例如下:

<?php$a='天气大太阳';if($a=='天气下雨'){echo '我在家看电视';}elseif($a=='天气大太阳'){echo '我晒衣服';}elseif($a=='天气刮风'){echo '我出吹风';}
?>

以上代码有一个变量a,值为天气大太阳。
使用if判断,a变量等于天气下雨,我就在家看电视;天气大太阳我就晒衣服;天气刮风我就出门吹风。
elseif 则是使用在多个条件判断时,当满足不了其一,那么就接下去进行判断,直到找到符合条件成立的模块代码,随后执行。如果都没有找到条件成立的代码,那么这个if条件语句将什么都不执行。
结果如下:
在这里插入图片描述
万一什么条件都不执行,我想需要一个状态进行表示。当条件都不满足,那么我就什么都不做,只需要添加else部分即可,例如如下代码示例:

<?php$a='天气下冰雹';if($a=='天气下雨'){echo '我在家看电视';}elseif($a=='天气大太阳'){echo '我晒衣服';}elseif($a=='天气刮风'){echo '我们出吹风';}else{echo '我什么都不做';}
?>

以上代码a变量的值为下冰雹,我在状态设计时并没有编写该状态对应的处理流程,那么我将执行else区域代码,显示 我什么都不做。
结果如下:
在这里插入图片描述

if语句嵌套

if语句是可以嵌套的,如下代码:

<?php$a='天气下冰雹';$b='我妈不给我出门';if($a=='天气下冰雹'){echo '天气下冰雹了';if($b=='我妈给我出门'){echo '出门玩';}else{echo '我妈不给我出门';}}
?>

以上代码中if语句判断a变量是否等于下冰雹,如果下冰雹,那么显示 天气下冰雹了。之后在当前if语句的花括号{}内,还添加了一段代码,是if语句,判断b变量是否是我妈给我出门,如果是我妈给我出门,那么就显示出门玩,如果不是,那么就是我妈不给我出门玩。
结果如下:
在这里插入图片描述
php 文章持续更新中,欢迎关注、点赞、收藏、转发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/287936.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在春意盎然的季节里初识GIT

Git 与 SVN 区别 GIT不仅仅是个版本控制系统&#xff0c;它也是个内容管理系统(CMS),工作管理系统等。 如果你是一个具有使用SVN背景的人&#xff0c;你需要做一定的思想转换&#xff0c;来适应GIT提供的一些概念和特征。 Git 与 SVN 区别点&#xff1a; 1、GIT是分布式的&…

WinForm混合Blazor(下)

有时&#xff0c;为了省事&#xff0c;我们也可以把窗体的控件注入到ServiceCollection中&#xff0c;在razor中订阅事件&#xff0c;这样就省了中间的桥梁&#xff0c;直接用控件当桥梁&#xff0c;下面以一个Button和Timer为例&#xff0c;来展示使用方式。本例是把Button和T…

ArcGIS实验教程——实验七:矢量数据空间校正(Spatial Adjustment)

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据) 【实验描述】 本系列实验教程实验二讲述了栅格数据的数字化之前必须进行的操作--地理配准(地理配配准完整操作步骤),栅格地理配准和矢量空间校正都属于几何校正的内容,关于空间校正、地理配准、…

数据结构之冒泡排序

1 冒泡排序 冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来 算法过程如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一…

博图程序需要手动同步_贴吧求助帖博图实例单按钮控制灯的程序

接上一期在贴吧看见的求助帖(上图看得见水印)&#xff0c;因为没人回复&#xff0c;发帖的楼主好像删除了帖子。结果我抽时间用博图15.1&#xff0c;S71200做了一个&#xff0c;希望给需要帮助的新人能够起到作用&#xff0c;感觉有用的话可以关注一下我的公众号低压电工&#…

操作系统,,,也考完了【流坑】

操作系统博大精深岂是区区2学分能容&#xff1f;学习了一些机制和理论模型之后课外还是要继续学习转载于:https://www.cnblogs.com/learn-to-rock/p/5447750.html

php基础教程 第六步 学习数组以及条件判断switch补充

条件语句 switch 在上一节的学习中&#xff0c;学习了php的条件语句if。在php编程中进行条件判断还可以使用switch语句。switch语句语法如下&#xff1a; <?php switch (值或表达式) { case 值等于值1:当值等于值1时要执行的代码break; case 值等于值2:当值等于值2时要执…

ArcGIS实验教程——实验八:矢量数据拼接

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据) 【实验描述】 数字化工作都是分工完成的,那么数字化完成之后,怎样将各部分数字化的成果拼接成一个完整的矢量数据呢?本实验针对线状和面状矢量数据,讲解矢量化数据拼接的常用方法:合并(merge)…

iOS 类库列表

1. LinqToObjectiveC #import "NSArrayLinqExtensions.h" 它为NSArray添加了许多方法&#xff0c;能让你用流式API来转换、排序、分组和过滤其中的数据。转载于:https://www.cnblogs.com/SimonGao/p/4747065.html

dotnet-exec 小工具

dotnet-exec 小工具Intro在之前的文章中很多会有一些示例代码&#xff0c;这些代码一般都是一些很小的示例&#xff0c;尤其是介绍一些新特性的示例&#xff0c;基本上不会引用其他包&#xff0c;只有 SDK 就可以执行&#xff0c;对于这些示例&#xff0c;一般会每个实例单独一…

安卓手机抓包charles乱码_charles-抓包Andriod 手机的设置

长按弹出修改后&#xff1a;charles如果不配置SSL通用证书&#xff1b;会导致HPPTS协议的域名抓取失败/乱码的现象&#xff1b;现在SSL越来越多&#xff0c;很多博客都上了SSL&#xff0c;支付相关的行业更是基础配置&#xff1b;charles配置SSL证书&#xff0c;算起来很简单&a…

分布式服务下的关键技术(转)

系统架构演化历程-初始阶段架构 初始阶段的小型系统 应用程序、数据库、文件等所有的资源都在一台服务器上通俗称为LAMP&#xff08;linux、apache、mysql、php&#xff09;。 特征&#xff1a; 应用程序、数据库、文件等所有的资源都在一台服务器上。 描述&#xff1a; 通常服…

ArcGIS实验教程——实验九:矢量数据提取

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据) 【实验描述】本实验以矢量数据为实验数据,讲解矢量数据的提取方法及注意事项。 一、实验内容 1、直接选取,导出(所有要素) 2、导出视图范围中的所有要素 3、按指定的裁剪框裁剪数据 4、按指…

linux之sort命令

1 sort命令的参数 sort 参数(可以省略) file 具体参数如下 -b:忽略每行前面开始的空格字符,空格数量不固定时,该选项几乎是必须要使用的("-n"选项隐含该选项,测试发现都隐含) -c:检查文件是否已经按照顺序排序,如未排序,会提示从哪一行开始乱序 -C:类似于&q…

php基础教程 第七步数组补充及循环基础

键值对 上一节中简单的了解了数组的定义、取值及存储&#xff0c;这一节补充一下上一节数组的内容。 在上一节中&#xff0c;我们知道索引是用来标记值的位置&#xff0c;通过索引可以取得当前位置的值。这种一个索引对应着一个值的关系是一个映射关系&#xff0c;称为键值对。…

vs2013 c# 中调用 c 编写的dll出错的可能错误

先说出错原因: 堆栈调用顺序 解决办法: 使用 __stdcall 或 使用C#属性 CallingConvention 起因是我想在c#中调用c函数结果出错了 如下 C 头文件 #define DLLExport extern "C" __declspec(dllexport)DLLExport int func(int a, int b);DLLExport void init…

jemter在linux上怎么安装_办公便签软件怎么下载?怎么在电脑桌面上下载安装一款办公便签软件...

走进一间办公室的话&#xff0c;你会看到很多人都在电脑前辛勤地忙碌。确实&#xff0c;随着互联网技术的应用和普及&#xff0c;现在很多上班族都离不开电脑&#xff0c;甚至需要终日在电脑前伏案办公。也正是因为这样&#xff0c;很多人都想在电脑上下载安装一款办公便签软件…

C#布隆过滤器的实现

介绍布隆过滤器&#xff08;Bloom Filter&#xff09;是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多&#xff0c;缺点是有一定的误识别率…

MySQL服务安装

2019独角兽企业重金招聘Python工程师标准>>> 这里是5.7版本以上解压版的安装攻略~~~~~ 1.下载MySQL server https://dev.mysql.com/downloads/mysql/ 根据自己需要下载 2.解压放到指定文件夹。例如: C:\Program Files\MySQL 3.配置环境变量&#xff0c;在path中放入…

ArcGIS实验教程——实验十:矢量数据投影变换

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据) 一、实验描述 投影变换是指将一种地图投影转换为另一种地图投影,主要包括投影类型、投影参数和椭球体参数等的改变。 二、实验内容 (一)工具箱实现 ArcGIS中,矢量数据的投影变化工具位于:工…