前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通俗易懂PHP基础【4-运算符与表达式】

通俗易懂PHP基础【4-运算符与表达式】

作者头像
Lemon黄
发布2019-10-08 17:37:19
8190
发布2019-10-08 17:37:19
举报
文章被收录于专栏:Lemon黄Lemon黄
开篇励志

骐骥一跃,不能十步;驽马十驾,功在不舍;锲而舍之,朽木不折;锲而不舍,金石可镂。

—— 荀子:《劝学》

学数学,离不开计算与算法。在写代码的实际应用中,我们也是离不开运算和算法。运算离不开运算符,这篇就主要来说说运算符。

1

算术运算符

数学中,加减乘除是算术运算符,同理,PHP中也包含加减乘除取余的算术运算符。

如下,PHP中常用的算术运算符:

名称

操作符

实例

加法

+

$x+$y

减法

-

$x-$y

乘法

*

$x*$y

除法

/

$x/$y

取余数

%

$x % $y

实际代码了解一下算术运算:

代码语言:javascript
复制
<?php
$x= 80;
$y= 20;
echo '$x + $y='.($x+$y)."<br>";
echo '$x - $y='.($x-$y)."<br>";
echo '$x * $y='.($x*$y)."<br>";
echo '$x / $y='.($x/$y)."<br>";
echo '$x % $y='.($x%$y)."<br>";
?>

运行结果:

2

逻辑运算符

高中数学学习的真假命题是否成立,学的就是逻辑。在编写代码中,更是离不开对逻辑的运算,以此来编写符合我们流程的代码。

常用的逻辑运算符如下:

操作符

实例

结果为真

&& 或 and(与)

$x && $y 或 $x and $y

当$x和$y都为真时才为真

|| 或 or (或)

$x || $y

当$x或者$y有一个为真时就为真

Xor(异或)

$x Xor $y

当$x、$y一真一假时为真

!(非)

!$x

$x为假时为真

同一个逻辑结构的两个运算符号之间却有着不同的优先级,and与or 的优先级要高于||与 &&。

测试代码了解一下逻辑运算:

代码语言:javascript
复制
<?php
$x=true;
$y=true;
$z=false;
echo '$x or $y and $z is'.($x or $y and $z)."<br>";
echo '$x || $y and $z is'.($x || $y and $z)."<br>";
?>

运行效果:可以看出,and与or 的优先级要高于||与 &&

3

比较运算符

比较运算符在编写代码中,也是经常应用的一种运算符。常用语比较变量的数值大小以及表达式是否成立。

如下PHP中常用的比较运算符

操作符

实例

结果为真

<(小于)

$x <$y

当$x小于$y时成立

>(大于)

$x> $y

当$x>$y时成立

<=(小于等于)

$x <=$y

当$x小于等于$y时成立

>=(大于等于)

$x>=$y

当$x大于等于$y时成立

== (值相等)

$x==$y

当$x等于$y时成立

!=(值不相等)

$x!=$y

当$x不等于$y时成立

===(恒等)

$x===$y

当$x恒等于$y时成立

!==(不恒等)

$x!==$y

当$x非恒等于$y时成立

最后两项的恒等和不恒等,恒等除了值相等,两者的数据类型也必须相等,不恒等,即使值相等,但是两者数据类型不一样,也是不相等的

实例代码了解一下:

代码语言:javascript
复制
<?php
$var = 100;
echo '$var===100:';
var_dump($var===100);
echo "<br/>";
echo '$var===true:';
var_dump($var===true);
?>

运行效果:

4

位运算符

位运算,特指的是对数值按二进制数进行位的逻辑运算。

PHP中的位运算符如下:

名称

操作符

实例

按位与

&

$x&$y

按位或

$x|$y

按位异或

^

$x^$y

按位取反

~

~$x

向左移位

<<

$y << $x

向右移位

>>

$y >> $x

代码语言:javascript
复制
<?php
$m=8;//二进制数是 1000
$n=12;//二进制数是 1100
echo $m & $n; //按位与
echo " ";
echo $m | $n; //按位或
echo " ";
echo $m ^ $n; //按位异或
echo " ";
echo ~$n; //按位取反
echo " ";
echo $m<<2; //左移两位
echo " ";
echo $m>>2; //右移两位
?>

运行结果:

5

字符串运算符

字符串的运算是用于将字符串拼接起来。不同于其他的编程语言,其他的编程语言拼接字符串使用加号(+),PHP拼接字符串的运算符号使用点(.)。

如果使用"+"号的来操作字符类型,则会自动转换为整型,如果是字母,则输出为0,如果是以数字开头的字符串,则会截取字符串头部的数字,再进行运算。非数字类型的参与算术运算,PHP也会给出警告的信息。

下面,实例测试了解一下:

代码语言:javascript
复制
<?php
$x="a123";
$y="abc";
echo  $x.$y; //结果为a123abc

echo "<br/>";

echo  $x+$y; //0+0结果为0;

echo "<br/>";

$y="123";

echo  $x+$y; //0+123结果为123;
?>

运行效果:非数字类型的参与算术运算,PHP给出警告的信息。

6

赋值运算符

赋值,相当与数学中的等于。但在php中等于属于逻辑运算的范畴,像数学的x=1,PHP就应该叫做,把1赋值给变量x,即 $x=1。

但在PHP为了书写代码更加高效,除了"="这个赋值运算符,还有如下常用的几种:

操作

符号

实例

展开形式

意义

赋值

=

$x=y

$x=5

将右边的赋值给左边

+=

$x+=y

$x=$x+5

将右边的值加到左边

-=

$x-=y

$x=$x-5

将右边的值减到左边

*=

$x*=y

$x=$x*5

将右边的值乘以左边的

/=

$x/=y

$x=$x/5

将右边的值除以左边的

连接字符

.=

$x.=y

$x=$x.5

将右边的字符串加到左边

取余数

%=

$x%=y

$x=$x%5

将左边的值对右边取余数

7

自增,自减运算符

PHP中,还有一种自增1,自减1的运算符。

自增,用'++'运算符表示,相当与 本身加1再赋值给本身,即++$x 等效于 $x = $x +1;

自减,用'--'运算符表示,相当与 本身减1再赋值给本身,即--$x 等效于 $x = $x -1;

实例代码了解一下:自增自减运算符放在变量的前后是有区别,看代码注释的解释:

代码语言:javascript
复制
<?php
$x=5;

//运算符放在变量之后,会先执行代码,后完成自增或自减的操作
echo '$x++的值为:'.$x++."<br>"; //先执行输出,在执行自增,所以$x的值变为5
 
echo '$x的值为:'.$x."<br>"; //上一个代码执行了自增,所以$x=6

//运算符放在变量之前,会先执行自增或自减操作,后完成执行代码逻辑
echo '++$x的值为:'.++$x."<br>"; //先自增,再执行输出,所以$x的值会变为7
?>

运行结果:

8

其他运算符

三元运算符

所谓三元运算符,就是根据一个表达式的成立与否,去执行两件事。举个例子,如果明天是周末,我就在家看书,不然只能上班了。

用三元运算符,来表达就是,如下: 表达式能成立,执行?之后的事情,不成立,就执行:后的事情。

代码语言:javascript
复制
<?php
$day = '星期六';//假设明天是周末了

echo $day == "星期六" ? "在家看书" : "上班";

?>

运行结果:

@错误屏蔽

使用‘@’可以屏蔽代码中的错误,注意只是屏蔽错误,错误依然在。

例子:

代码语言:javascript
复制
<?php
$x=5;
$y=5;

$x = @($x/0);

echo '--------------------<br/>';

$y = $y/0;

?>

运行效果:使用@没有任何输出

9

表达式

表达式,可以说是一条语句。我们通过编写一条一条的语句来组织我们的代码。一个语句可以是一个变量,一个函数,一个运算符。我们之前写的测试的代码,一行一行以分号(;)结束的语句,都是一个个表达式。

编写PHP代码的时候,每一条语句都该以英文中的分号(;)来结束语句。

通过这一节,我们基本了解了实际编码中广泛应用到的运算符以及使用方式。在以后的开发中,运算符无处不在。所以,熟练的掌握这些运算符,对继续前进的重要基础。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Lemon黄 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档