运算符是用来对变量、常量或数据进行计算的符号,它对一个值或一组值执行一个指定的操作。PHP的运算符包括算术运算符、字符串运算符、赋值运算符、位运算符、逻辑运算符、比较运算符、递增或递减运算符、错误控制运算符,这里只介绍一些常用的运算符。
算数运算符:
关于上表说明:
(1)在算术运算符中使用%求余,如果被除数($a)是负数,那么取得的结果也是一个负值。
(2)最后两个递增/递减运算符,主要是对单独一个变量来操作的。递增/递减运算符有两种使用方法:一种是先将变量增加或者减少1,然后再将值赋给原变量,称为前置递增或递减运算符;另一种是将运算符放在变量后面,即先返回变量的当前值,然后再将变量的当前值增加或者减少1,称为后置递增或递减运算符。
字符串运算符:
字符串运算符概述:字符串运算符只有一个,即英文的句号“.”。它将两个字符串连接起来,结合成一个新的字符串。使用过C或Java的读者应注意,这里的“+”号只用作赋值运算符使用,而不能用作字符串运算符。
$n = "3.1415926r*r";//声明一个字符串变量,以数字开头
$m = 1;声明一个整型变量
$nm = $n.$m;//使用“.”运算符将两个变量连接
echo $nm."<br>";
$mn = $n + $m ;//使用“+”运算符将两个变量连接
echo $mn . "<br>" ;
当使用“.”时,变量$m和$n两个字符串组成一个新的字符串。当使用“+”时,PHP会认为这是一次运算。如果“+”号的两边有字符类型,则自动转换为整型;如果是字母,则输出为0;如果是以数字开头的字符串,则会截取字串头部的数字,再进行运算。
赋值运算符:
赋值运算符是把基本赋值运算符“=”右边的值赋给左边的变量或者常量。在PHP中的赋值运算符如下表所示。
逻辑与运算符:
在逻辑运算符中,逻辑与和逻辑或这两个运算符有4种运算符号(&&、and、||和or),其中属于同一个逻辑结构的两个运算符号(例如&&和and)之间却有着不同的优先级。&& || and or 文档
比较运算符:
比较运算符就是对变量或表达式的结果进行大小、真假等比较,如果比较结果为真,则返回true,如果为假,则返回false。PHP中的比较运算符如下表所示。
其中,不太常见的就是= = =(恒等)和!= =。$a = = = $b,说明$a和$b不只是数值上相等,而且两者的类型也一样。!= =和= = =的意义相近,$a != = $b 就是说$a和$b或者数值不等,或者类型不等。
错误控制运算符:
@错误屏蔽运算符可以对程序中出现错误的表达式进行操作,进而对错误信息进行屏蔽,其使用的方法就是在错误的表达式前加上@即可。@只是对错误信息进行屏蔽,并没有真正解决错误。经常在程序中使用的某些函数出现一些不必要(不影响程序运行的错误)的错误信息时,使用该运算符进行屏蔽。针对程序中的一些影响程序运行的错误,使用它不是解决问题的根本办法,不推荐使用。
<?php
$err = @(5/0);
?>
三目运算符:
三元运算符(?:),也称为三目运算符,用于根据一个表达式在另两个表达式中选择一个,而不是用来在两个语句或者程序中选择。三元运算符最好放在括号里使用。
<?php
$foo = 110;
$foo = ($foo > 100) ? “大于100” : “小于100”;
?>
顺序与结合规则:
所谓运算符的优先级,是指在应用中哪一个运算符先计算,哪一个后计算,与数学的四则运算遵循的“先乘除,后加减”是一个道理。PHP的运算符在运算中遵循的规则是:优先级高的运算先执行,优先级低的操作后执行,同一优先级的操作按照从左到右的顺序进行。也可以像四则运算那样使用小括号,括号内的运算最先进行。PHP运算符优先级如下表所示。
如果写的表达式真的很复杂,而且包含了较多的运算符,不妨多使用括号,这样就会减少出现逻辑错误的可能。
PHP的表达式:
表达式是构成PHP程序语言的基本元素,也是PHP最重要的组成元素。在PHP语言中,几乎所写的任何对象都是表达式。最基本的表达式形式:常量和变量。如$m=20,即表示将值20赋给变量$m。表达式是通过具体的代码来实现的,是多个符号集合起来组成的代码,而这些符号只是一些对PHP解释程序有具体含义的最小单元。它们可以是变量名、函数名、运算符、字符串、数值和括号等。如以下代码:
<?php
"fine";
$foo = "world";
?>
这就是由两个表达式组成的脚本,即fine和$foo="word"。
此外,还可以进行连续赋值,如:
<?php
$b = $a = 5;
?>
因为PHP赋值操作的顺序是由右到左的,所以变量$b和$a都被赋值5。在PHP的代码中,使用分号“;”来区分表达式,表达式也可以包含在括号内。可以这样理解:一个表达式再加上一个分号,就是一条PHP语句。应用表达式能够做很多事情,如调用一个数组、创建一个类、给变量赋值等。
注意:在编写程序时,应该注意表达式后面的分号“;”不要漏写 。