社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。PHP中的运算符可分为:算术运算符,字符串运算符,赋值运算符,比较运算符,逻辑运算符,位运算符和其他运算符。
<?php
$a = 6.9;
$b = 5.1;
echo $a % $b; //1
$c = 6.9;
$d = -5.1;
echo $c % $d; //1
$e = -6.9;
$f = 5.1;
echo $e % $f; //-1
$g = 10;
$h = $g++;
echo $g; //11
echo $h; //10
$g = 10;
$h = ++$g;
echo $g; //11
echo $h; //11
<?php
$a = 'hello ';
$b = $a.'word!';
echo $b; //hello word!
$c = 'hello ';
$c .= 'word!';
echo $c; //hello word!
<?php
$a = $b = $c = $d = 10;
$e = 1;
$a += 10; //$a = $a + 10
$b -= 10; //$b = $b - 10
$c *= 10; //$c = $c * 10
$d /= 10; //$d = $d / 10
$e %= 10; //$e = $e % 10
例子 | 名称 | 结果 |
---|---|---|
$a == $b | 等于 | TRUE ,如果类型转换后 $a 等于$b。 |
$a === $b | 全等 | TRUE ,如果 $a 等于$b,并且它们的类型也相同。 |
$a != $b | 不等 | TRUE ,如果类型转换后 $a 不等于$b。 |
$a <> $b | 不等 | TRUE ,如果类型转换后 $a 不等于$b。 |
$a !== $b | 不全等 | TRUE ,如果 $a 不等于$b,或者它们的类型不同。 |
$a < $b | 小与 | TRUE ,如果 $a 严格小于$b。 |
$a > $b | 大于 | TRUE ,如果 $a 严格大于$b。 |
$a <= $b | 小于等于 | TRUE ,如果 $a 小于或者等于$b。 |
$a >= $b | 大于等于 | TRUE ,如果 $a 大于或者等于$b。 |
$a <=> $b | 结合比较运算符 | 当$a小于、等于、大于than $b时 分别返回一个小于、等于、大于0的integer 值。 PHP7开始提供. |
$a ?? $b ?? $c | NULL 合并操作符 | 从左往右第一个存在且不为 NULL 的操作数。如果都没有定义且不为 NULL ,则返回NULL 。PHP7开始提供。 |
例子 | 名称 | 结果 |
---|---|---|
$a & $b |
And(按位与) | 将把 $a 和 $b 中都为 1 的位设为 1。 |
$a | $b |
Or(按位或) | 将把 $a 和 $b 中任何一个为 1 的位设为 1。 |
$a ^ $b |
Xor(按位异或) | 将把 $a 和 $b 中一个为 1 另一个为 0 的位设为 1。 |
~ $a |
Not(按位取反) | 将 $a 中为 0 的位设为 1,反之亦然。 |
$a << $b |
Shift left(左移) | 将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)。 |
$a >> $b |
Shift right(右移) | 将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。 |
例子 | 名称 | 结果 |
---|---|---|
$a + $b | 联合 | $a 和 $b 的联合。 |
$a == $b | 相等 | 如果 $a 和
$b 具有相同的键/值对则为 TRUE 。 |
$a === $b | 全等 | 如果 $a 和
$b 具有相同的键/值对并且顺序和类型都相同则为 TRUE 。 |
$a != $b | 不等 | 如果 $a 不等于
$b 则为 TRUE 。 |
$a <> $b | 不等 | 如果 $a 不等于
$b 则为 TRUE 。 |
$a !== $b | 不全等 | 如果 $a 不全等于
$b 则为 TRUE 。 |
<?php
$a = array('a'=>1,'b'=>2,'c'=>3);
$b = array('a'=>4,'b'=>3,'c'=>2,'d'=>1,'e'=>0);
$c = array('c'=>3,'b'=>2,'a'=>1);
$d = array('a'=>1,'b'=>2,'c'=>3);
//$a 和 $b 的联合,两数组中重名的键名,使用左边数组中的。
var_dump($a + $b); //array(5) { ["a"]=> int(1) ["b"]=> int(2) ["c"]=> int(3) ["d"]=> int(1) ["e"]=> int(0) }
//具有相同的键/值对则为 TRUE。
var_dump($a == $b);// bool(false)
var_dump($a == $c);// bool(true)
//具有相同的键/值对并且顺序和类型都相同则为 TRUE。
var_dump($a === $d);// bool(true)
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!