php并且运算符,PHP运算符大全

运算符是说明特定操作的符号,是构造 PHP 语言表达式的工具。本节介绍 PHP 语言常用的运算符及其使用。

算术运算符

算术运算符可以对整型和浮点型的数据进行运算。PHP 中的算术运算符如表所示。

PHP 算数运算符

运算符

名称

描述

实例

x+y

x 和 y 的和

1+2

x-y

x 和 y 的差

2-1

x*y

x 和 y 的积

2*3

x/y

x 除以 y 的商

4/2

x%y

取模(除法的余数)

x 除以 y 的余数

5%2

-x

取反

x 取反

-3

intdiv(x,y)

整除

x 除以 y 的商的整数部分,此为 PHP 7 新增运算符

intdiv(10,3)

下面的示例演示了不同算术运算符的使用。

$x=10;

$y=3;

echo ($x + $y);

echo "
";

echo ($x - $y);

echo "
";

echo ($x * $y);

echo "
";

echo ($x / $y);

echo "
";

echo ($x % $y);

echo "
";

echo intdiv(10,3);

?>

执行以上代码输出结果如下:

13

7

30

3.3333333333333

1

3

递增递减运算符

递增递减运算符如表所示。

递增递减运算符

运算符

名称

描述

++x

预递增

x 先加 1,然后返回 x 的值

x++

后递增

先返回 x 的值,x 再加 1

-x

预递减

x 先减 1,然后返回 x 的值

x-

后递减

先返回 x 的值,x 再加 1

递增递减运算符的使用实例:

$x = 2;

echo ++$x; //输出3

$x = 5;

echo $x++; //输出5

$x = 7;

echo --$x; //输出6

$x = 9;

echo $x--; //输出9

?>

执行以上代码在浏览器中的打印结果是:

3569

比较运算符

比较运算符如表所示。

比较运算符

运算符

名称

描述

x==y

等于

如果 x 等于 y,返回 true,否则返回 false

x===y

恒等于

如果 x 恒等于 y,且两者数据类型相同,返回 true,否则返回 false

x!=y

不等于

如果 x 不等于 y,返回 true,否则返回 false

x<>y

不等于

如果 x 不等于 y,返回 true,否则返回 false

x!==y

不恒等于

如果 x 不等于 y,或两者类型不同,返回 true,否则返回 false

x>y

大于

如果 x 大于 y,返回 true,否则返回 false

x

小于

如果 x 小于 y,返回 true,否则返回 false

x>=y

大于等于

如果 x 大于等于 y,返回 true,否则返回 false

x<=y

小于等于

如果 x 小于等于 y,返回 true,否则返回 false

x<=>y

组合比较符

如果 x 的值和 y 的值相等(不是恒等于),就返回 0;如果 x 的值大于 y 的值,就返回 1;如果 x 的值小于 y 的值,就返回 -1。此为 PHP 7 新增运算符

比较运算符的使用示例如下:

$x=100;

$y="100";

var_dump($x == $y); //bool(true)

var_dump($x === $y); //bool(false)

var_dump($x != $y); //bool(false)

var_dump($x !== $y); //bool(true)

$a=50;

$b=90;

var_dump($a > $b); //bool(false)

var_dump($a < $b); //bool(true)

var_dump($a <> $b); //bool(true)

var_dump($a <=> $b); //int(-1)

var_dump($b <=> $a); //int(1)

var_dump($x <=> $y); //int(0)

?>

逻辑运算符

逻辑运算符如表所示。

逻辑运算符

运算符

名称

描述

a and b

只有 a 和 b 都为 true 才返回 true

x or y

a 和 b 至少一个为 true 才返回 true

a xor b

异或

a 和 b 仅有一个为 true 就返回 true

a && b

a 和 b 都为 true 才返回 true

a || b

a 和 b 至少一个为 true 就返回 true

!a

当 a 为 true 时返回 false,a 为 false 时返回 true

逻辑运算符的使用示例如下:

$a = true;

$b = false;

var_dump($a and $b); //bool(false)

var_dump($a or $b); //bool(true)

var_dump($a && $b); //bool(false)

var_dump($a || $b); //bool(true)

var_dump($a xor $a); //bool(false)

var_dump($a xor $b); //bool(true)

var_dump(!$a); //bool(false)

?>

三元运算符

三元运算符的语法格式如下:

(expr1) ? (expr2) : (expr3)

当 expr1 求值结果为 true 时,上述表达式返回 expr2 的值,否则返回 expr3 的值。

可以省略 expr2,此时语法格式为:(expr1) ? : (expr3)。同样,当 expr1 求值结果为 true 时,返回 expr1,否则返回 expr3。

在 PHP 7 版本多了一个 NULL 合并运算符??。例如,(expr1) ?? (expr2),当 expr1 不为 NULL 时返回 expr1 的值,否则返回 expr2 的值。示例如下:

$a = (1>2) 'big' : 'small';

$b = (3>2) : 'small';

$c = (1>2) : 'big';

$d = null2;

$e = 52;

var_dump($a); //string(5) "small"

var_dump($b); //bool(true)

var_dump($c); //string(3) "big"

var_dump($d); //int(2)

var_dump($e); //int(5)

?>

字符串连接运算符

PHP 中使用英文字符.将两个或多个字符串连接起来。示例如下:

$a = 'hello';

$b = 'world';

$c = $a . $b;

echo $C;

?>

以上代码的输出结果是:

hello world

赋值运算符

赋值运算符是把基本赋值运算符=右边的值给左边的变量或常量,如表所示。

赋值运算符

运算符

实例

展开形式

=

$a='b'

$a='b'

+=

$a+=5

$a=$a+5

-=

$a-=5

$a=$a-5

*=

$a*=5

$a=$a*5

/=

$a/=5

$a=$a/5

.=

$a.=5

$a=$a.5

%=

$a%=5

$a=$a%5

位运算符

位运算符是指对二进制位从低位到高位对齐后进行运算,如表所示。

位运算符

运算符

作用

实例

&

按位与

$a&$b

|

按位或

$a|$b

^

按位异或

$a^$b

~

按位取反

~$b

<<

向左移位

$a<

>>

向右移位

$a>>$b

位运算符的使用示例如下:

$a = 8;

$b = 15;

echo ($a & $b) . "
";

echo ($a | $b) . "
";

echo ($a ^ $b) . "
";

echo (~$b) . "
";

echo ($a << $b) . "
";

echo ($a >> $b) . "
";

?>

运行结果如下:

8

15

7

-16

262144

0

在 PHP 7 中,位移负的位置将会产生异常,左位移超出位数会返回 0。例如,echo(1>>-1) 程序会报错:Fatal error:Uncaught ArithmeticError:Bit shift by negative number。

代码如下:

echo (1 >> 2);

echo "
";

echo (-1 >> 2);

打印结果为:

0

-1

你可能感兴趣的:(php并且运算符)