![零基础PHP学习笔记](https://wfqqreader-1252317822.image.myqcloud.com/cover/195/36710195/b_36710195.jpg)
2.6 PHP操作符
“+”“-”“*”“/”都称为操作符。这是因为它们会操作或处理符号两边的数字。“=”也是一个操作符,称为赋值操作符,我们可以用它为一个变量赋值。操作符就是会对它两边的对象有影响或有操作的符号。这种影响可能是赋值、检查或改变一个或多个这样的对象。PHP的操作符主要包括算术操作符、字符串操作符、赋值操作符、逻辑操作符、比较操作符、递增或递减操作符和条件操作符,这里只介绍一些常用的操作符。
2.6.1 算术操作符
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/40266-00-054-01.jpg?sign=1739226505-zaA6OXmX4ICYiIVPIhdUNqSaAAWfJi7X-0-103c8573793f96e1d14c66f81cd30854)
算术操作符是处理四则运算的符号,在数字处理中应用得最多。常用的算术操作符如表2.6所示。
表2.6 常用的算术操作符
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/054-1.jpg?sign=1739226505-OLeXo1I3hoJ51VHogHgpHliGaNFEakNl-0-2bcacea19521b89fe4802fe8c5671540)
学习笔记
在算术操作符中使用%求余,如果被除数($a)是负数,那么取得的结果也是一个负数。
计算坐车去某个地方需要花费多长时间
本实例将编写一个程序,计算以80千米/小时的速度行驶200千米需要花费多长时间,答案为时/分的格式,如X小时Y分钟。相应的公式(用文字表述)是“时间等于距离除以速度”。代码如下:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/054-2.jpg?sign=1739226505-mVO2BImLlo5m5DBEAdEbJuhR4xAWt5Q0-0-76fc7b0d2b3e01a6033ddf765e041abd)
运行结果如图2.4所示。
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/055-2.jpg?sign=1739226505-fkD2g8utDFawD1Vyz38sK3IGk7kXB6aC-0-bff8daa3bdf39cbbcee2dd7a7ae450e4)
图2.4 需要花费的时间
2.6.2 字符串操作符
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/40266-00-055-02.jpg?sign=1739226505-lRfYlLnzCok6ylQDETkm2I8is2ug88Lo-0-d91cb8858677de853f0d977b14246163)
字符串操作符只有一个,即英文的句号“.”。它将两个字符串连接起来,结合成一个新的字符串。
例如,将“明日科技”和“有限公司”连接起来。代码如下:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/055-3.jpg?sign=1739226505-gqyTNpj165Dji56wgeh4kdsRnsclfW8y-0-7d6f5fcf989d68155c359b874451ca37)
结果为:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/055-4.jpg?sign=1739226505-tb7VYYMGKrCZ6qBOigkgzXEW0R3XztmJ-0-332b13948a8fe796a6ab7ef0c59134c2)
多学两招
对于字符串型数据,既可以用单引号,又可以用双引号。分别应用单引号和双引号来输出同一个变量,其输出结果完全不同,双引号输出的是变量的值,而单引号输出的是变量名字符串。例如:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/056-1.jpg?sign=1739226505-MtDnmi21e3o2nlFLAAkYrd4w5XWtnjT1-0-bad8370bc124b4dbcde5a64662c2b84f)
2.6.3 赋值操作符
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/40266-00-056-01.jpg?sign=1739226505-eGI3MNjYbhSsbYHYXjcPWvMbDqYYu8Oc-0-b9b94ea4325a2a2520575bb3d81206fe)
赋值操作符是把基本赋值操作符“=”右边的值赋给左边的变量或者常量。PHP中的赋值操作符如表2.7所示。
表2.7 PHP的赋值操作符
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/056-2.jpg?sign=1739226505-gODec4Zp8BeeI2dvsH8hyAzLkB9WnPjS-0-a66be70ff404d80b3b7777b9c746539d)
学习笔记
混淆“=”和“==”是编程中最常见的错误之一。
2.6.4 递增或递减操作符
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/40266-00-056-02.jpg?sign=1739226505-aQMv7RJATpoxHP7JtHjtiT4Gol5tuRwj-0-01110a833a1e10184613167e889fde86)
两个加号“++”连接在一起,称为递增操作符。两个减号“--”连接在一起,称为递减操作符。递增或递减操作符有两种使用方法,一种是将操作符放在变量前面,即先将变量进行加1或减1的运算后再将值赋给原变量,称为前置递增或递减操作符。如图2.5所示,先加1后赋值。另一种是将操作符放在变量后面,即先返回变量的当前值,然后变量的当前值进行加1或减1的运算,称为后置递增或递减操作符。如图2.6所示,先赋值后加1。
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/057-1.jpg?sign=1739226505-OAYzOVVfcAI4EBbQkSIkBkdVB6FEeGg7-0-297994e7c8e8ed1792a5b7f40f84ee39)
图2.5 前置递增操作符执行顺序
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/057-2.jpg?sign=1739226505-UfTee0VbrPWbci7E7TYFE8QDoDJAl93c-0-49871ff25fc7fbdb607b1d75cf6b271e)
图2.6 后置递增操作符执行顺序
例如,定义两个变量,将这两个变量分别利用递增操作符和递减操作符进行操作,并输出结果。代码如下:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/057-3.jpg?sign=1739226505-ure5zg0qH9AnXVfC86lvPT9dkH4H6BEJ-0-e4c9eb8c5d678d0296537941dfd2294f)
运行结果如下:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/057-4.jpg?sign=1739226505-Lv27aJClSkuddOWTTD1Rl5d9EymUpzjw-0-8a4e18a25e5198595c29253a9587210c)
2.6.5 逻辑操作符
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/40266-00-057-03.jpg?sign=1739226505-niDlMxVlltChnyxQ3kjILhfAXyOJKGe6-0-7402b7a0b53b2821cfc73392fccd4f04)
逻辑操作符用来组合逻辑运算的结果,是程序设计中一组非常重要的操作符。PHP中的逻辑操作符如表2.8所示。
表2.8 PHP中的逻辑操作符
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/058-1.jpg?sign=1739226505-Gk38cgnBTKY4MXF8nbmePaS4UWjUsq9T-0-13b8f2bcc1ae6455b0974616eaae80dd)
在逻辑判断时,经常要使用逻辑操作符,在后续章节中也会使用到逻辑操作符。
2.6.6 比较操作符
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/40266-00-058-01.jpg?sign=1739226505-t1BuCFrTU39Lke1zAYqY9Op96YSg7Qgw-0-bd32b9230dc37fc248443a984fddadef)
比较操作符就是对变量或表达式的结果进行大小、真假等比较,如果比较结果为真,则返回true,如果比较结果为假,则返回false。PHP中的比较操作符如表2.9所示。
表2.9 PHP中的比较操作符
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/058-2.jpg?sign=1739226505-YKijmr2t4VbIRkLkKAp5omGH78XrXpei-0-8194695c14d5c0a677d8e8fd54504537)
其中,不太常见的就是===和!==。如果$a === $b,则说明$a和$b不只是数值上相等,而且两者的类型也一样。例如false和0,在判断时,它们的关系是相等(==)的,但不是恒等(===)的。
2.6.7 条件操作符
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/40266-00-058-02.jpg?sign=1739226505-kq6S0ahJWEjCl8XY1EdNjL2awsya3VgI-0-b03f1d0f266eaa1c002dad9c2f60da07)
条件操作符(?:),也称为三元操作符,用于根据一个表达式在另两个表达式中选择一个,而不是在两个语句或程序中选择。条件操作符最好放在括号里使用。
例如,应用条件操作符实现一个简单的判断功能,如果正确则输出“条件运算”,否则输出“没有该值”,代码如下:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/059-1.jpg?sign=1739226505-cWRynoCtiApOO2BMgEzhLR6YiUTudb2V-0-827db3f01f12e79d6f580811ff3f2d58)
上述代码运行结果为:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/059-2.jpg?sign=1739226505-vxFB04wTGnjtWA1bHQzZ7nI1uBIB1jO0-0-50fea3eb2d4bb1bc404f41c06956fa01)
2.6.8 操作符的优先级
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/40266-00-059-01.jpg?sign=1739226505-Et1J7mR3OXtU7nvjtWY630TOk3sDI2LT-0-2659b7a7fce7116f9e9e620accf0d040)
操作符的优先级是指在应用中哪一个操作符先计算,哪一个操作符后计算,与数学四则运算遵循的“先乘除,后加减”规则是一个道理。
PHP操作符在运算中遵循的规则是:优先级高的运算先执行,优先级低的运算后执行,同一优先级的运算按照从左到右的顺序执行,也可以像四则运算那样使用圆括号,圆括号内的运算先执行。表2.10从高到低列出了操作符的优先级。同一行中的操作符具有相同优先级,此时它们的结合方向决定求值顺序。
表2.10 操作符的优先级
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/059-3.jpg?sign=1739226505-UHBgJAgoFkd6Mz3b15Tng0YU6SFcb2U2-0-42d36402881ce1a44775b7f141a66c96)
这么多的级别,如果想都记住是不太现实的,也没有必要。如果表达式很复杂,而且包含了较多操作符,则可以使用括号,例如:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/060-1.jpg?sign=1739226505-fjzpnaol8M512aAG4WNACkJc8lkUfGnK-0-76799631d179452d7e8c18ad398b155f)
这样就会减少出现逻辑错误的可能。