当前位置: 首页 > news >正文

从头学PHP之运算符

关于运算符的图片均来自网络,主要是自己写太麻烦了,程序是个简化自己工作量的方式,能复制粘贴就不要手写了(建议初期还是多写写,加深下记忆)在这里我就偷个懒,图片涉及到侵权及时,请通知我修改。

一、运算符

本篇文章我们将粗略的讲解在PH中不同运算符的应用主要分为几大类。

一、算术运算符

算数运算符很好理解,就是我们在小学数学中学到的加减乘除,取余,取反,设置负数,并置(连接符)
这里偷个懒(图片数据来源于网络)
在这里插入图片描述
代码示例

<!DOCTYPE html>
<html><body><h1>PHP--算术运算符</h1><?php$x=10;$y=6;echo ($x + $y); // 输出16echo '<br>';  // 换行echo ($x - $y); // 输出4echo '<br>';  // 换行echo ($x * $y); // 输出60echo '<br>';  // 换行echo ($x / $y); // 输出1.6666666666667echo '<br>';  // 换行echo ($x % $y); // 输出4echo '<br>';  // 换行echo -$x;?></body>
</html>

效果
在这里插入图片描述

二、赋值运算符

继续偷懒(图片数据来源于网络)
在这里插入图片描述
代码

<!DOCTYPE html>
<html><body><h1>PHP--赋值运算符</h1><?php$x=10;echo $x; // 输出10echo"</br>";//换行符$y=20;$y += 100;echo $y; // 输出120echo"</br>";//换行符$z=50;$z -= 25;echo $z; // 输出25echo"</br>";//换行符$i=5;$i *= 6;echo $i; // 输出30echo"</br>";//换行符$j=10;$j /= 5;echo $j; // 输出2echo"</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; // 输出11echo "</br>"; // 换行$y=10;echo $y++; // 输出10echo "</br>"; // 换行$z=5;echo --$z; // 输出4echo "</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;

解析如下:

  1. 如果 $a > $b, 则 $c 的值为 1。
  2. 如果 $a == $b, 则 $c 的值为 0。
  3. 如果 $a < $b, 则 $c 的值为 -1。

代码片段

<!DOCTYPE html>
<html><body><h1>PHP--组合比较符</h1><?php// 整型echo 1 <=> 1; // 0echo "</br>";//换行符echo 1 <=> 2; // -1echo "</br>";//换行符echo 2 <=> 1; // 1echo "</br>";//换行符// 浮点型echo 1.5 <=> 1.5; // 0echo "</br>";//换行符echo 1.5 <=> 2.5; // -1echo "</br>";//换行符echo 2.5 <=> 1.5; // 1echo "</br>";//换行符// 字符串echo "a" <=> "a"; // 0echo "</br>";//换行符echo "a" <=> "b"; // -1echo "</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 值 trueecho "</br>";$d = $a || $b;var_dump($d);          //这里的 $d 就是 boolean 值 true?></body>
</html>

在这里插入图片描述
效果
在这里插入图片描述

总结

本篇文章需要记的内容不少但是不死记硬背,用的时候查查,用多了就记住了

预告

下期讲流程控制(今天写累了),下期见,拜拜~

http://www.lryc.cn/news/467847.html

相关文章:

  • 使用 Git LFS(大文件存储)
  • js 将一维数组转换成树形结构的方法
  • HarmonyOS NEXT开发实战:实现高效下拉刷新与上拉加载组件(二)刷新核心逻辑与空页面集成
  • Crawler4j在多线程网页抓取中的应用
  • 【无标题】Django转化为exe,app
  • HTML5_标签_各类表格的实现
  • C语言数据结构之单向链表(SingleList)
  • 【银河麒麟高级服务器操作系统实例】金融行业TCP连接数猛增场景的系统优化
  • 详解Java的类文件结构(.class文件的结构)
  • 爆肝整理14天!AI工具宝藏合集
  • 高效库存管理:金蝶云星空与管易云的盘亏单对接方案
  • 小鹏汽车股价分析:看涨信号已出现,技术指标显示还有40%的上涨空间
  • c语言指针详解2
  • Chrome DevTools 二: Performance 性能面板
  • 渠道推广如何识别与防止虚假流量?
  • Keil C51 9.61__官网“最新版“下载、安装及相关提示( 保姆级教程, 安装过程详解, 附安装包 )
  • 二进制搭建 Kubernetes v1.20
  • 我希望,你把篮球和鸡联系起来想一想。。。
  • STM32 ADC介绍
  • JavaWeb合集12-Redis
  • 【C++】在Windows中使用Boost库——实现TCP、UDP通信
  • 怎么提取pdf的某一页?批量提取pdf的某一页的简单方法
  • Github优质项目推荐(第八期)
  • 快读快写模板
  • make_blobs函数
  • 特斯拉Optimus:展望智能生活新篇章
  • 基于Leaflet和SpringBoot的全球国家综合检索WebGIS可视化
  • 【Linux】/usr/share目录
  • Java中如何应用序列化 serialVersionUID 版本号呢?
  • 面部识别技术:AI 如何识别人脸