PHP运算符
PHP算术运算符
| 运算符 | 名称 | 例子 | 结果 |
| + | 加法 | $x + $y | $x 与 $y 求和 |
| - | 减法 | $x - $y | $x 与 $y 的差数 |
| * | 乘法 | $x * $y | $x 与 $y 的乘积 |
| / | 除法 | $x / $y | $x 与 $y 的商数 |
| % | 取余也叫取模、求模 | $x % $y | $x 除 $y 的余数 |
实例
下例展示了使用不同算数运算符的不同结果:
<?php $x=10; $y=6; echo ($x + $y)."<br/>"; // 输出 16 echo ($x - $y)."<br/>"; // 输出 4 echo ($x * $y)."<br/>"; // 输出 60 echo ($x / $y)."<br/>"; // 输出 1.6666666666667 echo ($x % $y)."<br/>"; // 输出 4 ?>
PHP赋值运算符
我们在数学里面把 = (一个等号)叫作赋值运算符,即:把等号右边的值,赋值给等号左边的变量,左边的变量就为右边的值。
| 符号 | 举例 | 等价式 |
| += | $x += $y | $x = $x + $y |
| -= | $x -= $y | $x = $x - $y |
| *= | $x *= $y | $x = $x * $y |
| /= | $x /= $y | $x = $x / $y |
| %= | $x %= $y | $x = $x % $y |
| .= | $x .= $y | $x = $x . $y |
实例
下面的例子和等价式都有明确的说明。
$x += $y 等价于 $x = $x + $y
<?php $x = 5; $y = 8; $x += $y; echo $x;
PHP字符串运算符
| 运算符 | 名称 | 例子 | 结果 |
| . | 串接 | $txt1 = "Hello" $txt2 = $txt1 . " world!" | 现在 $txt2 包含 "Hello world!" |
| .= | 串接赋值 | $txt1 = "Hello" $txt1 .= " world!" | 现在 $txt1 包含 "Hello world!" |
实例
下例展示了使用字符串运算符的结果:
<?php $a = "Hello"; $b = $a . " world!"; echo $b; // 输出 Hello world! echo "<br/>"; $x="Hello"; $x .= " world!"; echo $x; // 输出 Hello world! ?>
PHP递增/递减运算符
递增与递减说简单点就是把自己加一或减一
| 符号 | 说明 |
| $x++ | 先赋值后加 |
| $x-- | 先赋值后减 |
| ++$x | 先加后赋值 |
| --$x | 先减后赋值 |
上面的用法其实挺简单的,按照上面的例子。我们分成步骤去,按过程去判断即可。
实例
<?php $x = 5; //先赋值后加:即先将$x的值赋值给$y。$x的值为5,所以将$x的值赋值给$y。$y也为5 $y = $x++; //$x的结果输出为6,因为赋值给$y后,$x自己又把自己进行了+1操作。所以,$x的结果为6 echo $x; ?>
我们来对比一下先加后赋值,如下:
<?php $x = 8; $y = ++$x; echo $x; ?>
你再做实验,试试$x-- 和 --$x
小考验
看看你能不能猜对下面$water + $paper的结果?
<?php $x = 5; $y = 6; $paper = ++$x + $x++; $water = $y-- + $x--; echo $water + $paper; ?>
你猜对了吗
PHP比较运算符:
PHP 比较运算符用于比较两个值(数字或字符串):
| 运算符 | 名称 | 例子 | 结果 |
| == | 等于 | $x == $y | 如果 $x 等于 $y,则返回 true。 |
=== | 全等(完全相同) | $x === $y | 如果 $x 等于 $y,且它们类型相同,则返回 true |
| != | 不等于 | $x != $y | 如果 $x 不等于 $y,则返回 true。 |
| <> | 不等于 | $x <> $y | 如果 $x 不等于 $y,则返回 true。 |
| !== | 不全等(完全不同) | $x !== $y | 如果 $x 不等于 $y,且它们类型不相同,则返回 true。 |
| > | 大于 | $x > $y | 如果 $x 大于 $y,则返回 true。 |
| < | 小于 | $x < $y | 如果 $x 小于 $y,则返回 true。 |
| >= | 大于或等于 | $x >= $y | 如果 $x 大于或者等于 $y,则返回 true. |
| <= | 小于或等于 | $x <= $y | 如果 $x 小于或者等于 $y,则返回 true。 |
实例
下例展示了使用某些比较运算符的不同结果:
<?php $x=100; $y="100"; var_dump($x == $y); echo "<br>"; var_dump($x === $y); echo "<br>"; var_dump($x != $y); echo "<br>"; var_dump($x !== $y); echo "<br>"; $a=50; $b=90; var_dump($a > $b); echo "<br>"; var_dump($a < $b); ?>
PHP逻辑运算符
| 运算符 | 名称 | 例子 | 结果 |
| and | 与 | $x and $y | 如果 $x 和 $y 都为 true,则返回 true。 |
or | 或 | $x or $y | 如果 $x 和 $y 至少有一个为 true,则返回 true。 |
xor | 异或 | $x xor $y | 如果 $x 和 $y 有且仅有一个为 true,则返回 true。 |
| && | 与 | $x && $y | 如果 $x 和 $y 都为 true,则返回 true。 |
|| | 或 | $x || $y | 如果 $x 和 $y 至少有一个为 true,则返回 true。 |
| ! | 非 | !$x | 如果 $x 不为 true,则返回 true。 |
那我们来举几个例子来试试,
逻辑与:
<?php
header("Content-type:text/html;charset=utf-8"); //设置编码
$x = true;
$y = false;
//逻辑与(并且),要求两个都为true才执行真区间,所以代码中执行假区间
if($x && $y){
echo '执行了真区间';
}else{
echo '执行了假区间';
}
?>逻辑或:
<?php
header("Content-type:text/html;charset=utf-8"); //设置编码
$foo = false;
$bar = true;
//逻辑或,有一个为真则为真
if($foo || $bar){
echo '执行真区间';
}else{
echo '执行假区间';
}
?>逻辑非:
<?php
header("Content-type:text/html;charset=utf-8"); //设置编码
$foo = false;
//逻辑非,把false变为了true
if(!$foo){
echo '执行真区间';
}else{
echo '执行假区间';
}
?>PHP数组运算符
| 运算符 | 名称 | 例子 | 结果 |
| + | 联合 | $x + $y | $x 和 $y 的联合(但不覆盖重复的键) |
== | 相等 | $x == $y | 如果 $x 和 $y 拥有相同的键/值对,则返回 true。 |
=== | 全等 | $x === $y | 如果 $x 和 $y 拥有相同的键/值对,且顺序相同类型相同,则返回 true。 |
| != | 不相等 | $x != $y | 如果 $x 不等于 $y,则返回 true。 |
| <> | 不相等 | $x <> $y | 如果 $x 不等于 $y,则返回 true。 |
| !== | 不全等 | $x !== $y | 如果 $x 与 $y 完全不同,则返回 true。 |
PHP 数组运算符用于比较数组:
实例
下例展示了使用不同数组运算符的不同结果:
<?php
$x = array("a" => "red", "b" => "green");
$y = array("c" => "blue", "d" => "yellow");
$z = $x + $y; // $x 与 $y 的联合
var_dump($z);
var_dump($x == $y);
var_dump($x === $y);
var_dump($x != $y);
var_dump($x <> $y);
var_dump($x !== $y);
?>三目运算符
三目运算符的格式:
(expr1)?(expr2):(expr3); //表达式1?表达式2:表达式3
实例
<?PHP $a=10; $b=20; $c=$a>$b?($a-$b):($a+$b); //说明:如果变量a大于变量b则执行问号后面的,否则就执行:冒号后面的 echo $c; ?>


