![零基础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=1739360845-Ozx5bWom2c8tO7DjubcHSTKqqRxhbLb2-0-3fa1cb0d8c87a785f7e71365dfad13d8)
算术操作符是处理四则运算的符号,在数字处理中应用得最多。常用的算术操作符如表2.6所示。
表2.6 常用的算术操作符
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/054-1.jpg?sign=1739360845-2PRYLGeAh5fOE7WdxfivHdbpmT2a8OXF-0-98ea9a15575a2ac2eadca0ff2965850f)
学习笔记
在算术操作符中使用%求余,如果被除数($a)是负数,那么取得的结果也是一个负数。
计算坐车去某个地方需要花费多长时间
本实例将编写一个程序,计算以80千米/小时的速度行驶200千米需要花费多长时间,答案为时/分的格式,如X小时Y分钟。相应的公式(用文字表述)是“时间等于距离除以速度”。代码如下:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/054-2.jpg?sign=1739360845-OmMJ0zXRL2BjIC4yCihAgP8DtZ9q2vGS-0-0989af3de89e6aa93bedf12ef8af02f1)
运行结果如图2.4所示。
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/055-2.jpg?sign=1739360845-HsniNzJMA2QMWKsECAj2SsEM2rTRCV2Q-0-10de095455a4a0f85e9e8aa5c5645b25)
图2.4 需要花费的时间
2.6.2 字符串操作符
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/40266-00-055-02.jpg?sign=1739360845-Ydxcthi7fK8r8o3Xc6A7lNNKTgAPm7ix-0-7b3cd17f30280f02c81c10ea16e97cd1)
字符串操作符只有一个,即英文的句号“.”。它将两个字符串连接起来,结合成一个新的字符串。
例如,将“明日科技”和“有限公司”连接起来。代码如下:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/055-3.jpg?sign=1739360845-1Pex3WLXkGkD2Pr8QBrfXpNbcDZ7x23D-0-097d00153b68574238c2ecc7c5d8b297)
结果为:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/055-4.jpg?sign=1739360845-XMvUTaxyZUcjxLOQxLq2aS5dV3EsVpKj-0-1179b1f2aa4523f0bfa5350082492ae1)
多学两招
对于字符串型数据,既可以用单引号,又可以用双引号。分别应用单引号和双引号来输出同一个变量,其输出结果完全不同,双引号输出的是变量的值,而单引号输出的是变量名字符串。例如:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/056-1.jpg?sign=1739360845-Kp7AJGsDXe0zcseM02jkV3yb5w1c75o6-0-cb929f20f1d7853dff1b47ffe66b0acb)
2.6.3 赋值操作符
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/40266-00-056-01.jpg?sign=1739360845-eqvz9At48Jl7wTLwCYyowQF0zjUYyBKk-0-50a74ed0648d000e2bdd55151fe41c6f)
赋值操作符是把基本赋值操作符“=”右边的值赋给左边的变量或者常量。PHP中的赋值操作符如表2.7所示。
表2.7 PHP的赋值操作符
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/056-2.jpg?sign=1739360845-41pKEdsJ7nYgVwFrvnRvKEHVIiFTDzAA-0-548ba62764c816e9fd707dc0a261226d)
学习笔记
混淆“=”和“==”是编程中最常见的错误之一。
2.6.4 递增或递减操作符
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/40266-00-056-02.jpg?sign=1739360845-T5YRtPRwMdHKJuBAQH8nJ5L1vHV4B8Yw-0-3c03ba68f676d2af0bf0cefddd387737)
两个加号“++”连接在一起,称为递增操作符。两个减号“--”连接在一起,称为递减操作符。递增或递减操作符有两种使用方法,一种是将操作符放在变量前面,即先将变量进行加1或减1的运算后再将值赋给原变量,称为前置递增或递减操作符。如图2.5所示,先加1后赋值。另一种是将操作符放在变量后面,即先返回变量的当前值,然后变量的当前值进行加1或减1的运算,称为后置递增或递减操作符。如图2.6所示,先赋值后加1。
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/057-1.jpg?sign=1739360845-y2r8Az6DtF0AcxTWR8q5cWKR9s79ljis-0-881cc6fda2534e775dfdd7a083c334df)
图2.5 前置递增操作符执行顺序
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/057-2.jpg?sign=1739360845-Yx6kpN0PirMCJIqucXnj8z6xObzY2I51-0-5d35dff9ddd863bd6918ed379b9ebf52)
图2.6 后置递增操作符执行顺序
例如,定义两个变量,将这两个变量分别利用递增操作符和递减操作符进行操作,并输出结果。代码如下:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/057-3.jpg?sign=1739360845-7GFHFqiI1YjQ7lpd0nAhuMUUq1uMTiPL-0-e079873d54f53b996190dc79accf01d3)
运行结果如下:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/057-4.jpg?sign=1739360845-y8Lr9R7tOssCMq7mb8mes6ygPDrFvW0E-0-2aa3d13f0ecb2bcc97eff195f42a3e28)
2.6.5 逻辑操作符
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/40266-00-057-03.jpg?sign=1739360845-Cya9MWjFGTbzG3GAK9820EgsLBtnm1Mb-0-c26a98fb5e4ce87e7e42bc1e2c8c72f2)
逻辑操作符用来组合逻辑运算的结果,是程序设计中一组非常重要的操作符。PHP中的逻辑操作符如表2.8所示。
表2.8 PHP中的逻辑操作符
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/058-1.jpg?sign=1739360845-MFxkQ3kWDBweIX9UOcTLYFwxfrdXDAdW-0-fb3b814f14a9eb144c1ff99bf7074f3c)
在逻辑判断时,经常要使用逻辑操作符,在后续章节中也会使用到逻辑操作符。
2.6.6 比较操作符
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/40266-00-058-01.jpg?sign=1739360845-o0LlewQtVNer3ivgHKdmEmdO47qYHqFS-0-fcfafe92529c8fa3e1435683c9073e03)
比较操作符就是对变量或表达式的结果进行大小、真假等比较,如果比较结果为真,则返回true,如果比较结果为假,则返回false。PHP中的比较操作符如表2.9所示。
表2.9 PHP中的比较操作符
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/058-2.jpg?sign=1739360845-FZo6nZLJokVzHHONISxQ44cfGe7MLlow-0-3810a16446405b6f6f57fe45e9f715ba)
其中,不太常见的就是===和!==。如果$a === $b,则说明$a和$b不只是数值上相等,而且两者的类型也一样。例如false和0,在判断时,它们的关系是相等(==)的,但不是恒等(===)的。
2.6.7 条件操作符
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/40266-00-058-02.jpg?sign=1739360845-eLxfG4elG6ovdHnTsp6xIQcIkOcExTxT-0-ef15d3f911161a40ac2379525328b6eb)
条件操作符(?:),也称为三元操作符,用于根据一个表达式在另两个表达式中选择一个,而不是在两个语句或程序中选择。条件操作符最好放在括号里使用。
例如,应用条件操作符实现一个简单的判断功能,如果正确则输出“条件运算”,否则输出“没有该值”,代码如下:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/059-1.jpg?sign=1739360845-dLYpL7GqLvw455PJ62PSNDbcEjmAYWml-0-dd0dd0eaa537ab9c2304312a3276b27e)
上述代码运行结果为:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/059-2.jpg?sign=1739360845-yMFtZ14BQClR5JyzpX4Gv9UUQsz1ox5g-0-7e59603c31889d26fee5688f962512f0)
2.6.8 操作符的优先级
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/40266-00-059-01.jpg?sign=1739360845-vFOoQKCK2aP8NRpsmQzubo7qcP6NP4wK-0-a23999ceb94fd5c4a1cac58be8b6e28c)
操作符的优先级是指在应用中哪一个操作符先计算,哪一个操作符后计算,与数学四则运算遵循的“先乘除,后加减”规则是一个道理。
PHP操作符在运算中遵循的规则是:优先级高的运算先执行,优先级低的运算后执行,同一优先级的运算按照从左到右的顺序执行,也可以像四则运算那样使用圆括号,圆括号内的运算先执行。表2.10从高到低列出了操作符的优先级。同一行中的操作符具有相同优先级,此时它们的结合方向决定求值顺序。
表2.10 操作符的优先级
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/059-3.jpg?sign=1739360845-89AN3EvP1NXso9iGdS8tozDSlX0nHkxw-0-919a69ec6766869b42ff3eadd9145975)
这么多的级别,如果想都记住是不太现实的,也没有必要。如果表达式很复杂,而且包含了较多操作符,则可以使用括号,例如:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/060-1.jpg?sign=1739360845-Lh1Q79sfVVjTD5oZgt0LuMy5L11XeFEM-0-e54396bdd54d3ca95393f0cd59de86a1)
这样就会减少出现逻辑错误的可能。