运算符是可以通过给出的一或多个值(用编程行话来说,表达式)来产生另一个值(因而整个结构成为一个表达式)的东西。所以可以认为函数或任何会返回一个值(例如 print)的结构是运算符,而那些没有返回值的(例如 echo)是别的东西。
运算符优先级:运算符优先级指定了两个表达式绑定得有多“紧密”。
运算符的分类
■算术运算符
■赋值运算符
■位运算符
■比较运算符
■错误控制运算符:PHP 支持一个错误控制运算符:@。当将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉。
■执行运算符:PHP 支持一个执行运算符:反引号(``)。注意这不是单引号!PHP 将尝试将反引号中的内容作为外壳命令来执行,并将其输出信息返回(例如,可以赋给一个变量而不是简单地丢弃到标准输出)。使用反引号运算符“`”的效果与函数 shell_exec() 相同。 Note: 反引号运算符在激活了安全模式或者关闭了 shell_exec() 时是无效的。
■递增/递减运算符
■逻辑运算符
■字符串运算符:有两个字符串运算符。第一个是连接运算符(“.”),它返回其左右参数连接后的字符串。第二个是连接赋值运算符(“.=”),它将右边参数附加到左边的参数后。
■数组运算符
■类型运算符:
instanceof 用于确定一个 PHP 变量是否属于某一类 class 的实例
<?php class MyClass { } class NotMyClass { } $a = new MyClass; var_dump($a instanceof MyClass); var_dump($a instanceof NotMyClass); ?> 以上例程会输出: bool(true) bool(false)
instanceof 也可用来确定一个变量是不是继承自某一父类的子类的实例
<?php class ParentClass { } class MyClass extends ParentClass { } $a = new MyClass; var_dump($a instanceof MyClass); var_dump($a instanceof ParentClass); ?> 以上例程会输出: bool(true) bool(true)
最后,instanceof也可用于确定一个变量是不是实现了某个接口的对象的实例:
<?php interface MyInterface { } class MyClass implements MyInterface { } $a = new MyClass var_dump($a instanceof MyClass); var_dump($a instanceof MyInterface); ?> 以上例程会输出: bool(true) bool(true)
转载请注明:MitNick » PHP的运算符、优先级和运算符的分类