关于运算符的图片均来自网络,主要是自己写太麻烦了,程序是个简化自己工作量的方式,能复制粘贴就不要手写了(建议初期还是多写写,加深下记忆)在这里我就偷个懒,图片涉及到侵权及时,请通知我修改。
一、运算符
本篇文章我们将粗略的讲解在PH中不同运算符的应用主要分为几大类。
一、算术运算符
算数运算符很好理解,就是我们在小学数学中学到的加减乘除,取余,取反,设置负数,并置(连接符)
这里偷个懒(图片数据来源于网络)
代码示例
<!DOCTYPE html>
<html>
<body>
<h1>PHP--算术运算符</h1>
<?php
$x=10;
$y=6;
echo ($x + $y); // 输出16
echo '<br>'; // 换行
echo ($x - $y); // 输出4
echo '<br>'; // 换行
echo ($x * $y); // 输出60
echo '<br>'; // 换行
echo ($x / $y); // 输出1.6666666666667
echo '<br>'; // 换行
echo ($x % $y); // 输出4
echo '<br>'; // 换行
echo -$x;
?>
</body>
</html>
效果
二、赋值运算符
继续偷懒(图片数据来源于网络)
代码
<!DOCTYPE html>
<html>
<body>
<h1>PHP--赋值运算符</h1>
<?php
$x=10;
echo $x; // 输出10
echo"</br>";//换行符
$y=20;
$y += 100;
echo $y; // 输出120
echo"</br>";//换行符
$z=50;
$z -= 25;
echo $z; // 输出25
echo"</br>";//换行符
$i=5;
$i *= 6;
echo $i; // 输出30
echo"</br>";//换行符
$j=10;
$j /= 5;
echo $j; // 输出2
echo"</br>";//换行符
$k=15;
$k %= 4;
echo $k; // 输出3
?>
</body>
</html>
效果
并置(连接符)
用于连接字符串或者变量 (两种写法)
代码片段
<!DOCTYPE html>
<html>
<body>
<h1>PHP--赋值运算符</h1>
<?php
$a = "Hello";
$b = $a . " world!";
echo $b; // 输出Hello world!
echo "</br>"; // 换行符
$x="Hello";
$x .= " world!";
echo $x; // 输出Hello world!
?>
</body>
</html>
效果
三、递增/递减运算符
继续偷懒
代码片段
<!DOCTYPE html>
<html>
<body>
<h1>PHP--递增/递减运算符</h1>
<?php
$x=10;
echo ++$x; // 输出11
echo "</br>"; // 换行
$y=10;
echo $y++; // 输出10
echo "</br>"; // 换行
$z=5;
echo --$z; // 输出4
echo "</br>"; // 换行
$i=5;
echo $i--; // 输出5
?>
</body>
</html>
效果
四、比较运算符
代码片段
<!DOCTYPE html>
<html>
<body>
<h1>PHP--比较运算符</h1>
<?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);
?>
</body>
</html>
效果
五、逻辑运算符
六、数组运算符
代码片段
<!DOCTYPE html>
<html>
<body>
<h1>PHP--数组运算符</h1>
<?php
$x = array("a" => "red", "b" => "green");
$y = array("c" => "blue", "d" => "yellow");
$z = $x + $y; // $x 和 $y 数组合并
var_dump($z);
echo "</br>";//换行符
var_dump($x == $y);
echo "</br>";//换行符
var_dump($x === $y);
echo "</br>";//换行符
var_dump($x != $y);
echo "</br>";//换行符
var_dump($x <> $y);
echo "</br>";//换行符
var_dump($x !== $y);
?>
</body>
</html>
效果
七、三元(三目)运算符
语法格式
(expr1) ? (expr2) : (expr3)
对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。
自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。
代码示例
变量$a是大熊嘛?是的则结果为拥有哆啦A梦,否则打劫大熊
<!DOCTYPE html>
<html>
<body>
<h1>PHP--三元运算符</h1>
<?php
$a="大熊";
//三元运算
$result = $a=="大熊" ? "拥有哆啦A梦" : '打劫大熊';
echo $result;
?>
</body>
</html>
效果
组合比较符(php7.0以上版本)
PHP7+ 支持组合比较符(combined comparison operator)也称之为太空船操作符,符号为 <=>。组合比较运算符可以轻松实现两个变量的比较,当然不仅限于数值类数据的比较。
语法格式如下:
$c = $a <=> $b;
解析如下:
- 如果 $a > $b, 则 $c 的值为 1。
- 如果 $a == $b, 则 $c 的值为 0。
- 如果 $a < $b, 则 $c 的值为 -1。
代码片段
<!DOCTYPE html>
<html>
<body>
<h1>PHP--组合比较符</h1>
<?php
// 整型
echo 1 <=> 1; // 0
echo "</br>";//换行符
echo 1 <=> 2; // -1
echo "</br>";//换行符
echo 2 <=> 1; // 1
echo "</br>";//换行符
// 浮点型
echo 1.5 <=> 1.5; // 0
echo "</br>";//换行符
echo 1.5 <=> 2.5; // -1
echo "</br>";//换行符
echo 2.5 <=> 1.5; // 1
echo "</br>";//换行符
// 字符串
echo "a" <=> "a"; // 0
echo "</br>";//换行符
echo "a" <=> "b"; // -1
echo "</br>";//换行符
echo "b" <=> "a"; // 1
?>
</body>
</html>
二、运算符优先级
下表按照优先级从高到低列出了运算符。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。
说明:左 = 从左到右,右 = 从右到左。
代码片段
<!DOCTYPE html>
<html>
<body>
<h1>PHP--运算符优先级</h1>
<?php
// 优先级: && > = > and
// 优先级: || > = > or
$a = 3;
$b = false;
$c = $a or $b;
var_dump($c); // 这里的 $c 为 int 值3,而不是 boolean 值 true
echo "</br>";
$d = $a || $b;
var_dump($d); //这里的 $d 就是 boolean 值 true
?>
</body>
</html>
效果
总结
本篇文章需要记的内容不少但是不死记硬背,用的时候查查,用多了就记住了
预告
下期讲流程控制(今天写累了),下期见,拜拜~