购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.5 PHP运算符

运算符是用来对变量、常量或数据进行计算的符号,它对一个值或一组值执行一个指定的操作。PHP运算符包括算术运算符、字符串运算符、赋值运算符、位运算符、递增运算符或递减运算符等。下面分别对各种运算符进行介绍。

2.5.1 算术运算符

算术运算符主要用于处理算术运算操作,常用的算术运算符及作用如表2-7所示。

表2-7 常用的算术运算符

注:在算术运算符中使用“%”求余,如果被除数($a)是负数的话,那么取得的结果也是一个负值。

【例2-19】 通过算术运算符计算每月总的支出、剩余工资、房贷占工资的比例等。

运行结果如下:

2.5.2 字符串运算符

字符串运算符主要用于处理字符串的相关操作,在PHP中字符串运算符只有一个,那就是“.”,该运算符用于将两个字符串连接起来,结合到一起形成一个新的字符串。应用格式如下:

此运算符在前面的例子中已经使用,如例2-19中的:

此处使用字符串运算符将$c+$b的值与字符串“<br>”连接,在输出$c+$b的值后执行换行操作。

2.5.3 赋值运算符

赋值运算符主要用于处理表达式的赋值操作,PHP中提供了很多赋值运算符,其用法及意义如表2-8所示。

表2-8 常用赋值运算符

【例2-20】 赋值运算符应用。

此处应用“=”运算符,为变量 a 赋值,下面再举一个复杂一点示例,代码如下:

运行结果为:50。

注:在执行i=i+1的操作时,建议使用i+=1来代替。因为其符合C/C++的习惯,摈弃效率还高。

2.5.4 递增或递减运算符

递增运算符“++”和递减运算符“--”与算术运算符有些相同,都是对数值型数据进行操作。但算术运算符适合在两个或者两个以上不同操作数的场合使用,当只有一个操作数时,就可以使用“++”或者“--”运算符。

【例2-21】 递增和递减运算符应用。

运行结果为:

注:“&nbsp;”为HTML的空格标记。

上例中变量$b自加和$d自减后的值为什么没变?

当运算符位于变量前时(++$a),先自加,然后再返回变量的值;当运算符位于变量后时($a++),先返回变量的值,然后再自加,即输出的是变量a的值,并非a++的值。这就是为什么变量$b自加和$d自减后的值为什么没变的原因。

2.5.5 逻辑运算符

逻辑运算符对布尔数据进行操作,返回布尔型结果,是程序设计中一组非常重要的运算符。PHP的逻辑运算符如表2-9所示。

表2-9 PHP的逻辑运算符

【例2-22】 使用逻辑运算符判断如果变量存在,且值不为空,则执行数据的输出操作,否则弹出提示信息(变量值不能为空!)。

运行结果为:弹出对话框,显示信息为“变量值不能为空!”。

注:本例在if语句中,应用逻辑与判断当变量存在,且值不为空的情况下输出数据,否则输出提示信息。

isset()函数检查变量是否设置,如果设置则返回true,否则返回false。

empty()函数检测变量是否为空,如果为空则返回true,否则返回false。

注:当逻辑表达式中后一部分的取值不会影响整个表达式的值时,为了提高程序效率,后一部分将不再做任何数据运算。例如,表达式$a&&$b,若$a为false,则$b不再计算;若$a||$b中的$a为true,$b也不需要计算。

2.5.6 比较运算符

比较运算符主要用于比较两个数据的值,返回值为一个布尔类型。PHP中的比较运算符如表2-10所示。

表2-10 PHP的比较运算

这里面===和!==不太常见。

【例2-23】 使用比较运算符比较小刘与小李的工资。

运行结果为:

2.5.7 条件运算符

条件运算符可以提供简单的逻辑判断,其应用格式为:表达式1?表达式2:表达式3

如果表达式1的值为true,则执行表达式2,否则执行表达式3。

【例2-24】 条件运算符应用:

运行结果为:zero。

2.5.8 运算符的使用规则

所谓使用规则就是当表达式中包含多种运算符时,运算符的执行顺序,与数学四则运算中的先算乘除后算加减是一个道理。PHP的运算符优先级如表2-11所示。

表2-11 运算符的优先级

注:这么多的级别,如果要想都记住是不太现实的,也没有这个必要。如果写的表达式真的很复杂,而且包含较多的运算符,不妨多加(),例如:$a and(($b!=$c) or(5*(50-$d)))。这样就会减少出现逻辑错误的可能。 uIit7+Y/WHwr5cDuW4nrB0oMEiEmLu5ITbmNm4jA91pIpIb/AHIuLGzkJcSYvInl

点击中间区域
呼出菜单
上一章
目录
下一章
×