当前位置:首页 > CN2资讯 > 正文内容

自学PHP笔记(五) PHP运算符php运算符

2天前CN2资讯

首先我们需要了解运算符是什么,运算符是指的对变量、常量或者数据进行计算的一个符号,比如数学中学到的加减乘除等用来运算的代表符号,PHP中的运算符也是这样的,它可以通过一个或者多个值产生一个新的值,这就是运算符的作用,PHP中把运算符分为:算数运算符、赋值运算符、字符串运算符、位运算符、比较运算符逻辑运算符、错误控制运算符和其他运算符。下面将对一系列运算符进行说明

1.算数运算符

算数运算符也就是我们数学公式中学到的四则运算符,也就是加减乘除,算数运算符主要用来数学计算

算数运算符

说明

-

减法,在某些特殊场合会用于取反,比如数值的负值

+

加法

*

乘法

/

除法

%

取余,也就是获取除法中的余数

示例

<?php
$a = 100;
$b = 200;
echo $a * $b;
echo $b / $a;
?>

运算结果分别为:​​20000​​和​​2​​

2.赋值运算符

基本赋值运算符只有一个就是用​​=​​表示,这个赋值运算符就是把右边的表达式赋给左边的运算符,也就是将左右两边的表达式相等,写法也就是常用变量赋值的方法

示例

<?php
$a = 100;
$b = $a + 100;
echo $a;
echo $b;
?>

输出结果分别为:​​100​​和​​200​​,可以看出​​$b​​变量被赋值变量​​a​​加上100,最后变量​​b​​的值为​​200​​

赋值运算符除了基本的赋值运算符外,还有用于二元算数、数组集合和字符串运算的组合运算符,这里解释下什么是二元运算符:由两个元素形成第三个元素的一种规则,例如数的加法及乘法;更一般地,由两个集合形成第三个集合的产生方法或构成规则称为二次运算。这个是官方说法,其实就可以理解为两个或者多个表达式用运算符生成另外一个表达式,这就二次运算。

组合运算符

说明

示例

.=

先连接后赋值

$a .= $b,就等于 $a = $a . $b

+=

先加后赋值

$a += $b,就等于 $a = $a + $b

-=

先减后赋值

$a -= $b,就等于 $a = $a - $b

*=

先乘后赋值

$a *= $b,就等于 $a = $a * $b

/=

先除后赋值

$a /= $b,就等于 $a = $a / $b

示例

<?php
$a = 100;
$b = 200;
$a += $b;
echo $a;
?>

输出结果为:​​300​​

3. 字符串运算符

字符串运算符一开始我在想字符串还能运算?难不成还能A+B=C啊,后来通过一步步了解发现并不是那么回事,字符串的运算符就是将多个不同的字符表达式连接到一起,也就是将两个值进行合并。

字符串运算符只有两个,一个是​​.​​连接运算符,也就是将左右两边的字符串合表达式并为一个字符串表达式。另外一个就是连接赋值运算符,这个类似于组合运算符符中的先连接后赋值,使用​​.=​​进行表示

示例

<?php
$a = "hello";
$b = " word";
echo $a . $b;
$a .= $b;
echo $a;
?>

输出结果是一致的,输出结果为​​hello word​​

4.位运算符

这个我也是没搞太明白,有知道的大神可以给几个提示或者说明。下面我把PHP的位运算符做了一个列表:

位运算符

说明

&

按位与(And)

|

按位或(Or)

^

按位异或(Xor)

~

按位非(Not)

<<

左移

>>

右移

就这些啦,希望大家可以补充下此栏,私聊发我,我会补充到这里,提前谢谢大家啦

5.比较运算符

这个比较运算符理解比较简单,就是将多个表达式进行对比,返回结果位布尔值,如果比较结果为真则返回true,如果比较结果为假则返回false,这个运算符大部分会用在流程控制中,比较表达式。

比较运算符

说明

==

判断是否相等,注意这个不会判断数据类型

===

判断是否相等,注意数据类型不同也会返回false

!=

不等于

<>

不等于

!==

非全等,注意会判读数据类型的

<

小于

>

大于

<=

小于等于

>=

大于等于

<=>

组合比较,当左侧值大于右侧值会返回大于0的结果,反之则返回小于0的结果

??

NULL合并操作符,从左往右第一个存在且不为NULL的操作数,如果没有定义且不为NULL则返回NULL

注意】在整数和字符串进行比较时,字符串会被转换成整数进行比较,比较字符串时,则作为整数进行比较。

示例

<?php
var_dump(1 == "a");
var_dump(1==="a");
var_dump(1!=="a");
?>

输出结果为:第一个输出结果为​​bool(false)​​,第二个输出结果为​​bool(false)​​,第三个输出结果为​​bool(true)​​

6.逻辑运算符

这个逻辑运算符用来组合逻辑运算符的结果,每个编程语言都离不开的哦,多数用来做判断,多于流程控制一起使用

逻辑运算符

说明

and

逻辑与,多个表达式都为真才会返回true

&&

逻辑与,与and一致

or

逻辑或,多个表达式一个为真就会被认为是真的

||

逻辑或,与or一致

xor

逻辑异或,如果一个表达式为真另一个为假,则会返回true

逻辑非(取反),如果表达式为真,则返回false

示例】判断变量a和b是否都是1

<?php
$a = 1;
$b = 2;
if ($a and $b == 1){
echo "两个变量都是1哦";
}else{
echo "有一个变量不是1哦";
}
?>

输出结果为:​​有一个变量不是1哦​​

7.错误控制运算符

这个错误控制运算符就是为了不在前端输出错误信息或者是为了武略某些错误而设置的运算符,错误运算符时使用​​@​​表示,只需要在表达式前面加上错误控制运算符即可,如果你激活了​​track_errors​​特性,则表达式的错误信息都会保存至​​$php_errormsg​​变量中。

示例

<?php
$a =1 / 0;
?>

执行上面代码会产生一个异常报错,错误信息会在浏览器中展示,避免这种错误信息展示在浏览器当中你就可以使用错误控制运算符

<?php
$a = @(1 / 0);
?>

执行上面代码会发现之前在浏览器当中显示的错误信息不见了

注意】错误控制运算符只对表达式有效,如果能从某处获取到值,就能在他的前面加上错误控制运算符,可以把他放在变量、函数、​​incloud()​​调用、常量等之前,但是要避免把他放在函数或类定义之前,也不能用在条件结构前

8.其他运算符

1. 三元运算符

三元运算符说白了就是​​if-else​​,也是用来判断不同的表达式的,唯一不同的就是全写在一行里面,不需要分开写到多行,但是我还是建议大家使用​​if-else​​结构语句。

语法

(expr1)?(expr2):(expr3)

**解释:**当expr1表达式为真时,则执行expr2表达式,并返回它的值,否则就会执行expr3表达式,并返回其值。

上面运算也可以直接省略expr2表达式,直接执行expr3。

(expr1) ?: (expr3)

**解释:**当expr1表达式为真时,直接返回expr1值,否则返回expr3的值。

示例】这个示例用来判断这个相邻两个变量的值。

<?php
$a = 1;
$b = 2;
$c = 3;
$d = 4;
echo $a<$b?'A':$b<$c?'B':$c<$d?'C':'D';
?>

执行上面代码返回值​​C​​

哎最烦解释这种一行写下来的条件结构,看起来很复杂,稍不留神就理解不了,下面我拆开给大家看应该就觉得比较简单了,如果还是觉得很难理解的话,我建议大家直接跳过这一步,直接看后面的​​if-else​​

#第一步判断$a和$b,返回结果"A"
echo $a < $b ? 'A' : $b;
#第二步判断$b和$c,返回结果"B"
echo $b < $c ? 'B' : $d;
#第三步判断$c和$d,返回结果"C"
ehoc $c < $d ? 'C' : 'D';

最后给大家上个流程图吧

Created with Raphaël 2.2.0 开始 $a < $b $b < $c $c < $d C D B A yes no yes no yes no

这样应该看起来就简单很多了,这样就方便判断了,如果还是不行,那就跳过吧,不重要

2. 递增和递减运算符

这个递增和递减说起来就比较简单了,比起上面的三元运算简单多了,递增就是每执行一次都会加1,递减就是每执行一次都会减1,这个运算符有下面几种表示方法。

运算符

说明

++$a

返回$a+1的值

$a++

返回$a的值,然后再加1

–$a

返回$a-1的值

$a–

返回$a的值,然后再减1

注意这里的减号是两个不是一个

这种递增递减的运算符多数用在循环结构当中。

递增示例1

<?php
for ($i = 0; $i++ < 10;){
echo $i." ";
}
?>

输出结果为:​​1 2 3 4 5 6 7 8 9 10​​

递增示例2

<?php
for ($i = 0; ++$i < 10;){
echo $i." ";
}
?>

输出结果为:​​1 2 3 4 5 6 7 8 9​​

递减示例1

<?php
for ($i = 10; $i-- > 1;){
echo $i." ";
}
?>

输出结果为:​​9 8 7 6 5 4 3 2 1​​

递减示例2

<?php
for ($i = 10; --$i > 1;){
echo $i." ";
}
?>

输出结果为:​​9 8 7 6 5 4 3 2​​

9.运算符的优先级和结合方向

运算符的优先级其实就是指的执行顺序,哪一个优先执行哪一个后执行,在数学四则运算中,先算乘除后算加减,同样在PHP中肯定也是有这种执行顺序的。

在PHP当中运算符所遵循的运算顺序为:优先级高的操作先执行,优先级低的操作后执行,同一优先级按照从左向右顺序依次执行。

在PHP中也有小括号的先运算的说法,有小括号先执行小括号里面的表达式,然后再执行其他的。

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/26540.html

    分享给朋友:

    “自学PHP笔记(五) PHP运算符php运算符” 的相关文章

    CN2 GIA是什么?探索高效国际网络连接的解决方案

    在当今这个数字化时代,网络连接的稳定性与速度成为了企业和个人活动的重中之重。CN2 GIA,或称为全球互联网接入(Global Internet Access),是由中国电信提供的一项高级国际专线网络服务。这项服务在CN2产品线中占据了顶级位置,专为那些需要快速且稳定的国际网络连接的用户而设计。通过...

    原生IP的重要性及其在外贸中的应用价值

    原生IP的定义与特点 谈到原生IP,这个概念在网络世界中显得极为重要。简单来说,原生IP是指那些与虚拟专用服务器(VPS)所在国家一致的IP地址。这意味着,它们的注册信息和其实际位置是相符的,根本没有经过修改或伪造。这一点在外贸业务中尤为重要,很多情况下,企业需要保证他们的服务器IP地址真的是注册所...

    搬瓦工:新手必备的VPS主机服务与瓦工实践经验分享

    1. 搬瓦工的概述 你好,今天我们来聊聊“搬瓦工”。这个名字可能对很多人来说有些陌生,但实际上它是一个由加拿大IT7 Networks公司推出的VPS主机品牌。简单来说,搬瓦工为用户提供了一种虚拟的服务器租赁服务,尤其适合那些想要搭建网站或学习Linux的新手。最吸引人的是,它的性价比非常高,价格也...

    如何选择与配置VPS服务器并确保其安全性与性能优化

    VPS服务器概述 当我们提到VPS(虚拟专用服务器)时,简直是开启了一个全新的技术世界。它把一台物理服务器分割成多个独立的虚拟环境,每个VPS都有自己的操作系统和资源分配。这种方式给用户带来了更多的灵活性和控制权,也意味着即使在较低的成本下,我们也能拥有自己专属的服务器。 VPS的魅力在于其独立性。...

    如何优化网络体验:VPS中转全面指南

    我一直对如何使用技术来优化我的网络体验感到好奇。最近,我发现了VPS中转这种神奇的方法。简单来说,VPS中转就是利用一台虚拟私人服务器(VPS),将我的网络流量转发到另一个指定的网络地址。这种功能主要用于加速访问某些海外网站,帮助我突破网络限制以及保护我的上网隐私等。 在日常使用中,我会遇到一些网站...

    Rndc2的线路怎么样?全面评测RackNerd洛杉矶DC02机房

    Rndc2的基本线路信息 说到Rndc2的线路,首先让我跟大家分享一下它的基本信息。这个线路的核心在于RackNerd洛杉矶DC02机房,位置恰好在美国西海岸的洛杉矶。成立于2019年的RackNerd,以其价格优势著称,给我们提供了比较便宜的美国VPS选择,最低年付大约10美元,这对于很多希望节省...