·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> php网站开发 >> PHP学习心得(八)——运算符

PHP学习心得(八)——运算符

作者:佚名      php网站开发编辑:admin      更新时间:2022-07-23
php学习心得(八)——运算符 Posted on 2014-04-10 15:34 菜鸟展翅 阅读(...) 评论(...) 编辑 收藏

运算符是可以通过给出的一或多个值(用编程行话来说,表达式)来产生另一个值(因而整个结构成为一个表达式)的东西。所以可以认为函数或任何会返回一个值(例如 PRint)的结构是运算符,而那些没有返回值的(例如 echo)是别的东西。

有三种类型的运算符。第一种是一元运算符,只运算一个值,例如 !(取反运算符)或 ++(加一运算符)。第二种是有限二元运算符,PHP 支持的大多数运算符都是这种。列表见下节运算符优先级。

第三种是三元运算符:?:。它应该被用来根据一个表达式在另两个表达式中选择一个,而不是用来在两个语句或者程序路线中选择。把整个三元表达式放在扩号里是个很好的主意。

运算符优先级
结合方向运算符附加信息
非结合clone newclone和new
[array()
非结合++ --递增/递减运算符
非结合~ - (int) (float) (string) (array) (object) (bool) @类型
非结合instanceof类型
右结合!逻辑操作符
* / %算术运算符
+ - .算术运算符和字符串运算符
<< >>位运算符
非结合< <= > >= <>比较运算符
非结合== != === !==比较运算符
&位运算符和引用
^位运算符
|位运算符
&&逻辑运算符
||逻辑运算符
? :三元运算符
= += -= *= /= .= %= &= |= ^= <<= >>=赋值运算符
and逻辑运算符
xor逻辑运算符
or逻辑运算符
,多处用到

左联表示表达式从左向右求值,右联相反。使用括号可以增强代码的可读性。

除法运算符总是返回浮点数。只有在下列情况例外:两个操作数都是整数(或字符串转换成的整数)并且正好能整除,这时它返回一个整数。

取模运算符的操作数在运算之前都会转换成整数(除去小数部分)。

位运算符
例子名称结果
$a & $bAnd(按位与)将把 $a 和 $b 中都为 1 的位设为 1。
$a | $bOr(按位或)将把 $a 或者 $b 中为 1 的位设为 1。
$a ^ $bXor(按位异或)将把 $a 和 $b 中不同的位设为 1。
~ $aNot(按位非)将 $a 中为 0 的位设为 1,反之亦然。
$a << $bShift left(左移)将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)。
$a >> $bShift right(右移)将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。
比较运算符
例子名称结果
$a == $b等于TRUE,如果 $a 等于 $b。
$a === $b全等TRUE,如果 $a 等于 $b,并且它们的类型也相同。(PHP 4 引进)
$a != $b不等TRUE,如果 $a 不等于 $b。
$a <> $b不等TRUE,如果 $a 不等于 $b。
$a !== $b非全等TRUE,如果 $a 不等于 $b,或者它们的类型不同。(PHP 4 引进)
$a < $b小与TRUE,如果 $a 严格小于 $b。
$a > $b大于TRUE,如果 $a 严格 $b。
$a <= $b小于等于TRUE,如果 $a 小于或者等于 $b。
$a >= $b大于等于TRUE,如果 $a 大于或者等于 $b。

如果比较一个整数和字符串,则字符串会被转换为整数。如果比较两个数字字符串,则作为整数比较。