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
短路与
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;
?>
字符串运算符
<?php
$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 |
|
|
左 |
[ |
|
|
非结合 |
++ -- |
|
|
非结合 |
~ - (int) (float) (string) (array) (object) (bool) @ |
|
|
非结合 |
instanceof |
|
|
右结合 |
! |
|
|
左 |
* / % |
|
|
左 |
+ - . |
|
|
左 |
<< >> |
|
|
非结合 |
< <= > >= <> |
|
|
非结合 |
== != === !== |
|
|
左 |
& |
|
|
左 |
^ |
|
|
左 |
| |
|
|
左 |
&& |
|
|
左 |
|| |
|
|
左 |
? : |
|
|
右 |
= += -= *= /= .= %= &= |= ^= <<= >>= |
|
|
左 |
and |
|
|
左 |
xor |
|
|
左 |
or |
|
|
左 |
, |
多处用到 |
and的优先级比=低
转载于:https://blog.51cto.com/lerdor/894745