在做网站中,PHP运算符运算符是用来对变量、常量和数据进行计算的符号,它可以通过一或多个值(即表达式)产生另一个值(即整个结构为一个表达式)。因此,用户可以理解任何会返回一个值的结构都是运算符,而那些没有返回值的就不是运算符,如函数可以视为一个运算符,而echo命令就不是一个运算符。PHP提供了3种类型的运算符。
•一元运算符:只运算一个值,如!(取反运算符)或++(递加运算符)。
•有限二元运算符:PHP支持的大多数运算符都是这种。
•三元运算符:?:。它应该被用来根据一个表达式在另两个表达式中选择一个,而不是用来在两个语句或者程序路线中选择。注意,为了避免误用,建议把整个三元表达式放在扩号里。
算术运算符
算术运算符用来处理四则运算的符号,在数学计算中应用比较多。常用算术运算符如下表所示。
赋值运算符
基本的赋值运算符是=。一般用户会把=符号误解为“等于”,其实不是的。它实际上意味着把右边表达式的值赋给左边的运算数。赋值运算表达式的值也就是所赋的值。也就是说,“$a = 3”的值是3。这样就可以做一些小技巧,如:<?php$a = ($b = 4) + 5;?>在上面示例中,变量$a的值为9,而变量$b的值就成了4。
在基本赋值运算符之外,还有适合于所有二元算术、数组集合和字符串运算符的组合运算符(如下表所示),这样可以在一个表达式中使用它的值并把表达式的结果赋给它。
字符串运算符
有两个字符串运算符。一个是连接运算符(.),它返回其左右参数连接后的字符串。另一个是连接赋值运算符(.=),它将右边参数附加到左边的参数后。
如:<?php$a = "Hello ";$b = $a . "World!"; //$b ="Hello World!"$a = "Hello ";$a .= "World!"; //$a = "Hello World!"?>
位运算符
位运算符允许对整型数中指定的位进行求值和操作。如果左右参数都是字符串,则位运算符将操作字符的ASCII值。在PHP中位运算符说明如下表所示:
如果比较一个整数和字符串,则字符串会被转换为整数。如果比较两个数字字符串,则作为整数比较。此规则也适用于switch语句。
<?phpvar_dump(0 == "a"); // 0 == 0 -> truevar_dump("1" == "01"); // 1 == 1 -> truevar_dump("1" == "1e0"); // 1 == 1 -> true?>
逻辑运算符
逻辑运算符用来组合逻辑运算的结果,是程序设计中一组非常重要的运算符。PHP的逻辑运算符如下表所示:
例如,下面的foo()函数不会被调用,因为它们被运算符“短路”了。
<?php$a = (false && foo());$b = (true ||foo());$c = (false and foo());$d = (true or foo());?>
错误控制运算符
PHP支持错误控制运算符:@。当将其放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略。如果激活track-errors特性,表达式所产生的任何错误信息都被存放在变量$php- errormsg中。此变量在每次出错时都会被覆盖,所以如果想用它的话就要尽早检查。
如:<?php$a = 1 / 0;?>
运行上面代码,则会产生一个异常,并在浏览器中呈现出来。如果避免错误信息显示在浏览器中,则可以在表达式前面添加@运算符,实现代码如下:
<?php$a = @(1 / 0);?>
注意:@运算符只对表达式有效。对初学者来说一个简单的规则就是:如果能从某处得到值,就能在它前面加上@运算符。例如,可以把它放在变量、函数和include()调用、常量等之前。不能把它放在函数或类的定义之前,也不能用于条件结构前。
运算符优先级
运算符优先级指定了两个表达式绑定得有多紧密。例如,表达式1 + 5 * 3的结果是16,而不是18,因为乘号的优先级比加号高。不过可以使用括号来强制改变优先级。例如,(1 + 5) * 3的值为18。如果运算符优先级相同,则使用从左到右的左联顺序。
PHP的运算符在运算中遵循的规则是:优先级高的运算先执行,优先级低的操作后执行,同一优先级的操作按照从左到右的顺序进行。PHP运算符优先级如下表所示。
当前文章标题:PHP运算符
当前URL:http://www.lyjtt.cn/news/wzzz/3241.html
上一篇:预定义变量
下一篇:运算符优先级