php的表达式

所谓表达式,就是任何有值的东西

php的算术运算符


14位啊!

案例:

++--

左加+=

左减-=

左乘*=

左除/=

左取模%=

比较运算符

 

例子

名称

结果

$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。

案例:

!= !==说明

逻辑元算符

 

例子

名称

结果

$a and $b

And(逻辑与)

TRUE,如果 $a 与 $b 都为 TRUE。

$a or $b

Or(逻辑或)

TRUE,如果 $a 或 $b 任一为 TRUE。

$a xor $b

Xor(逻辑异或)

TRUE,如果 $a 或 $b 任一为 TRUE,但不同时是

! $a

Not(逻辑非)

TRUE,如果 $a 不为 TRUE。

$a && $b

And(逻辑与)

TRUE,如果 $a 与 $b 都为 TRUE。

$a || $b

Or(逻辑或)

TRUE,如果 $a 或 $b 任一为 TRUE。

短路或

ok!a=11 b=7

短路与


a=11 b=7

ok!a=12 b=8

面试题:and &&都表示逻辑与,区别是

主要体现在优先级上,

and的优先级

and<=<&&

or<=<||

三元元算符

基本语法

表达式1?表达式2:表达式3

规则:如果表达式1的运算结果是true,则取表达式2的值,否则取表达式3的值

举例

<?php

$a=90;

$b=32;

$c=$a<$b? (12-9):"hello world";

echo 'c=='.$c;

?>

字符串运算符

$a="wrewr";

$b=32;

$c=$a.$b;

echo $c;

?>

可以看出,当2个变量(基本数据类型)用 . 连接的时候,就表示把它们的内容拼接。

类型运算符

基本语法

instanceof 用于确定一个 PHP 变量是否属于某一类 class 的实例:

面向对象开发中可能要用

class Dog{};

class Cat{};

$cat1= new Cat;

//var_dump($cat1 instanceof Cat);

//在实际开发中,我们可能需要去判断某个变量是否是某个类型

if($cat1 instanceof Cat){

echo '$cat1是一只猫';

}

运算符优先级的说明

下表从高到低列出了运算符的优先级 同一行中的运算符具有相同优先级,

此时它们的结合方向决定求值顺序

 

结合方向

运算符

附加信息

非结合

clone new

clone 和 new

[

array()

非结合

++ --

递增/递减运算符

非结合

~ - (int) (float) (string) (array) (object) (bool) @

类型

非结合

instanceof

类型

右结合

!

逻辑操作符

* / %

算术运算符

+ - .

算术运算符和字符串运算符

<< >>

位运算符

非结合

< <= > >= <>

比较运算符

非结合

== != === !==

比较运算符

&

位运算符和引用

^

位运算符

|

位运算符

&&

逻辑运算符

||

逻辑运算符

? :

三元运算符

= += -= *= /= .= %= &= |= ^= <<= >>=

赋值运算符

and

逻辑运算符

xor

逻辑运算符

or

逻辑运算符

,

多处用到

and的优先级比=低