投稿 资料上传 搜索
您现在的位置是: 首页 > 文章 > 正文

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)

代码示例:

<?php
$x=10;
$y=3;
echo ($x + $y);
echo "<br/>";
echo ($x - $y);
echo "<br/>";
echo ($x * $y);
echo "<br/>";
echo ($x / $y);
echo "<br/>";
echo ($x % $y);
echo "<br/>";
echo intdiv(10,3);
?>

运算结果:

  1. 13
  2. 7
  3. 30
  4. 3.3333333333333
  5. 1
  6. 3

二、递增递减运算符

如下表:

运算符 名称 描述 
  ++x  预递增  x 先加 1,然后返回 x 的值
  x++  后递增  先返回 x 的值,x 再加 1
  -x  预递减  x 先减 1,然后返回 x 的值
  x-  后递减  先返回 x 的值,x 再加 1

代码示例:

<?php
$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<y小于如果 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 新增运算符

代码示例:

<?php
$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

代码示例:

<?php
$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 的值。代码示例如下: 

 <?php

$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 中使用英文字符.将两个或多个字符串连接起来。代码示例如下:  

<?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<<$b
  >>  向右移位  $a>>$b

示例代码:

<?php
$a = 8;
$b = 15;
echo ($a & $b) . "<br/>";
echo ($a | $b) . "<br/>";
echo ($a ^ $b) . "<br/>";
echo (~$b) . "<br/>";
echo ($a << $b) . "<br/>";
echo ($a >> $b) . "<br/>";
?>

运行结果:

8

15

7

-16

262144

0

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

 

  

转载于:

文章标签:
阿里云服务器采购季
给作者打赏,鼓励TA抓紧创作!
评论