您现在的位置是:网站首页>>PHP>>php
php基础知识回顾 —— 运算符
发布时间:2019-01-24 17:02:33作者:wangjian浏览量:440点赞量:0
一:算术运算符
x+y 加 x 和 y 的和
x - y减 x 和 y 的差
x * y乘 x 和 y 的积
x / y除 x 和 y 的商
x % y 模 (除法的余数)
- x取反x 取反
a . b并置连接两个字符串
php7新增了一个整除运算符: intdiv()
例:$x=10;
$y=6;
echo ($x + $y); // 输出16
echo '
';
echo ($x - $y); // 输出4
echo '
';
echo ($x * $y); // 输出60
echo '
';
echo ($x / $y); // 输出1.6666666666667
echo '
';
echo ($x % $y); // 输出4
echo '
';
echo $x . $y;// 输出106
echo '
';
echo -$x;// 输出-10
echo '
';
echo (intdiv($x,$y));// 输出1
二:赋值运算符
x = y等同于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
a .= b等同于a = a . b
例:$x=10;
echo $x; // 输出10
$y=20;
$y += 100;
echo $y; // 输出120
$z=50;
$z -= 25;
echo $z; // 输出25
$i=5;
$i *= 6;
echo $i; // 输出30
$j=10;
$j /= 5;
echo $j; // 输出2
$k=15;
$k %= 4;
echo $k; // 输出3
$x = 'a';
$y = 'b';
$x .=$y;
echo $x;//输出ab
三:递增/递减运算符
++ x预递增x 加 1,然后返回 x
x ++后递增返回 x,然后 x 加 1
-- x预递减x 减 1,然后返回 x
x --后递减返回 x,然后 x 减 1
例:$x=10;
echo ++$x; // 输出11
$y=10;
echo $y++; // 输出10
$z=5;
echo --$z; // 输出4
$i=5;
echo $i--; // 输出5
四:比较运算符
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
例:$x=100;
$y="100";
var_dump($x == $y);//true
echo "
";
var_dump($x === $y);//false
echo "
";
var_dump($x != $y);//false
echo "
";
var_dump($x !== $y);//true
echo "
";
$a=50;
$b=90;
var_dump($a > $b);//false
echo "
";
var_dump($a < $b);//true
五:逻辑运算符
x and y与如果 x 和 y 都为 true,则返回 true
x or y或如果 x 和 y 至少有一个为 true,则返回 true
x xor y异或如果 x 和 y 有且仅有一个为 true,则返回 true
x && y与如果 x 和 y 都为 true,则返回 true
x || y或如果 x 和 y 至少有一个为 true,则返回 true
! x非如果 x 不为 true,则返回 true
六:数组运算符
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
例:$x = array("a" => "red", "b" => "green");
$y = array("c" => "blue", "d" => "yellow");
$z = $x + $y; // $x 和 $y 数组合并
var_dump($z);//{ ["a"]=> string(3) "red" ["b"]=> string(5) "green" ["c"]=> string(4) "blue" ["d"]=> string(6) "yellow" }
var_dump($x == $y);//false
var_dump($x === $y);//false
var_dump($x != $y);//true
var_dump($x <> $y);//true
var_dump($x !== $y);//true
七:三元运算符
语法:(expr1) ? (expr2) : (expr3)
例:$test = 'test';
// 普通写法
$tmp = isset($test) ? $test : 'nobody';
echo $tmp;//输出test
// PHP 5.3+ 版本写法
$tmp = $test ?: 'nobody';
echo $tmp;//输出test
八:组合比较富
在php7中添加了一个新的运算符——组合比较符(<=>)
例:// 整型
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1
// 浮点型
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1
// 字符串
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
0
+1