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

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

逻辑判断

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

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

if 语句

if语句的语法如下:

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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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

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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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

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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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

if else 语句

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

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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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

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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

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

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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

以上程序示例中,声明且定义了两个变量,一个是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.'小';
	}
?>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

以上代码中,在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.'小';
	}
?>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在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.'小';
	}
?>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

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

if…elseif…else语句

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

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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

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

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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

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

if语句嵌套

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

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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

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

文章来源: i1bit.blog.csdn.net,作者:A757291228,版权归原作者所有,如需转载,请联系作者。

原文链接:i1bit.blog.csdn.net/article/details/107306149

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。