PHP运算符汇总

⭕️前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家(点击跳转到网站)⭕️

一、算数运算符
基础理解
  • 加减乘除、求余数、整数除法(向下取整)、字符串拼接等
<?php 
$x=10; 
$y=6;
//求和
echo ($x + $y); // 10+6
echo '<br>';  // 换行
//求差
echo ($x - $y); // 10-6
echo '<br>';  // 换行
//求积
echo ($x * $y); // 60
echo '<br>';  // 换行
//除法未保留小数
echo ($x / $y); // 输出1.6666666666667
echo '<br>';  // 换行
//*整数除法,“向下取整”,7除以2等于3.5,所以 intdiv(7, 2) 返回3。在第二个例子中,-7除以2等于-3.5,所以 intdiv(-7, 2) 返回-4
echo intdiv(7, 2);  // 输出: 3
echo intdiv(-7, 2);  // 输出: -4
echo '<br>'; 
//求模
echo ($x % $y); // 输出4(余数)
echo '<br>';  // 换行
//求负数
echo -$x;
echo '<br>';  // 换行
//字符串拼接
c;//"jsm666"
echo '<br>';  // 换行
?>

二、赋值运算符
基础理解
  • 赋值,其实就是把算数运算符的值进行赋值,和原本没啥区别
<?php 
$x=10; 
echo $x; // 输出10
echo '<br>';  // 换行
// 	x = x + y
$y=20; 
$y += 100;
echo $y; // 输出120
echo '<br>';  // 换行
//x = x - y
$z=50;
$z -= 25;
echo $z; // 输出25
echo '<br>';  // 换行
//x = x * y
$i=5;
$i *= 6;
echo $i; // 输出30
echo '<br>';  // 换行
//x = x / y
$j=10;
$j /= 5;
echo $j; // 输出2
echo '<br>';  // 换行
//x = x % y
$k=15;
$k %= 4;
echo $k; // 输出3
echo '<br>';  // 换行
//a .= b :链接两个字符串
$k="jsm";
echo $k .= "666";//“jsm666”
echo '<br>';  // 换行
//*用不同的运算符得到相同的结果
$a = "Hello";
$b = $a . " world!";
echo $b; // 输出Hello world! 
echo '<br>';  // 换行
$x="Hello";
$x .= " world!";
echo $x; // 输出Hello world! 
?>

三、递增/递减运算符
基础理解
  • 递增、递减,这个大部分语言都有的逻辑不阐述
<?php//++ x:预递增,x 加 1,然后返回 x
$x=10; 
echo ++$x; // 输出11
echo '<br>';  // 换行//x ++:后递增,返回 x,然后 x 加 1
$y=10; 
echo $y++; // 输出10
echo '<br>';  // 换行//-- x: 预递减,x 减 1,然后返回 x
$z=5;
echo --$z; // 输出4
echo '<br>';  // 换行//x --:后递减,返回 x,然后 x 减 1
$i=5;
echo $i--; // 输出5
echo '<br>';  // 换行
?>

四、比较运算符
基础理解
  • 比较操作符可以比较两个值的时候使用,实际业务场景语句较多,比大小这些
运算符名称等于描述实例
x == y等于如果 x 等于 y,则返回 true5==8 返回 false
x === y绝对等于如果 x 等于 y,且它们类型相同,则返回 true5===“5” 返回 false
x != y不等于如果 x 不等于 y,则返回 true5!=8 返回 true
x <> y不等于如果 x 不等于 y,则返回 true5<>8 返回 true
x !== y不绝对等于如果 x 不等于 y,或它们类型不相同,则返回 true5!==“5” 返回 true
x > y大于如果 x 大于 y,则返回 true5>8 返回 false
x < y小于如果 x 小于 y,则返回 true5<8 返回 true
x >= y大于等于如果 x 大于或者等于 y,则返回 true5>=8 返回 false
x <= y小于等于如果 x 小于或者等于 y,则返回 true5<=8 返回 true
  • var_dump 是 PHP 中的一个函数,用于在屏幕上显示变量的详细信息,这里是为了正确显示输出的布尔值(bool)
<?php
$x=100; 
$y="100";//值相同:true
var_dump($x == $y);
echo "<br>";//数据格式不同:false
var_dump($x === $y);
echo "<br>";//==和!=都是比较值而不比较格式:false
var_dump($x != $y);
echo "<br>";//true
var_dump($x !== $y);
echo "<br>";$a=50;
$b=90;
var_dump($a > $b);//false
echo "<br>";
var_dump($a < $b);//true
?>

五、逻辑运算符
基础理解
  • 逻辑运算符的返回是或者否,实际使用场景可能是一种逻辑思维的提升,不能仅仅局限于一些现有的逻辑,例如与或非结合三元等、函数判断等

比如以下情况(这里的不等于就用的是绝对等于)

collect(A)->filter(function($item) {if(is_array($item)) {return $item['importance'] !== 1 ? true : $item['importance'] = 'hbt';} else {return $item->importance !== 1 ? true : $item->importance ='hbt';}
}
)->values();
  • 运算符都很简单,这里的逻辑运算符如果和判断运算符结合起来,可以处理一些实际业务场景下的自定义运算逻辑
运算符名称描述实例
x and y如果 x 和 y 都为 true,则返回 truex=6 y=3 (x < 10 and y > 1) 返回 true
x or y如果 x 和 y 至少有一个为 true,则返回 truex=6 y=3 (x6 or y5) 返回 true
x xor y异或如果 x 和 y 有且仅有一个为 true,则返回 truex=6 y=3 (x6 xor y3) 返回 false
x && y如果 x 和 y 都为 true,则返回 truex=6 y=3 (x < 10 && y > 1) 返回 true
x || y如果 x 和 y 至少有一个为 true,则返回 truex=6 y=3 (x5 || y5) 返回 false
! x如果 x 不为 true,则返回 truex=6 y=3 !(x==y) 返回 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
  • 注意:

    在PHP中,x <> y 和 $x != $y 都是用于比较两个变量是否不相等的操作符,但它们之间存在一些差异。

    1. x <> y:这是使用双等号(<>)作为比较操作符。它比较两个变量的值是否不相等,而不考虑它们的类型。如果两个变量的值不相等,则返回 true,否则返回 false。
    2. $x != $y:这是使用双不等号(!=)作为比较操作符。它也比较两个变量的值是否不相等,但同时还会检查它们的类型是否不同。如果两个变量的值不相等或类型不同,则返回true,否则返回 false。因此,主要的区别在于类型检查方面。x <> y 只比较值是否相等,而 $x != $y 不仅比较值是否相等,还检查类型是否不同。
<?php
$x = array("a" => "red", "b" => "green"); 
$y = array("c" => "blue", "d" => "yellow"); 
$z = $x + $y; // $x 和 $y 数组合并var_dump($x);//输出x
echo "<br>";//分行
var_dump($y);//输出y
echo "<br>";//分行
var_dump($z);//输出z(合并之后)
echo "<br>";//分行var_dump($x == $y);//bool(false) :因为两个数组值、键对不相同
echo "<br>";//分行var_dump($x === $y);//bool(false) :因为两个数组值、键对不相同(这里要true,需要顺寻相同,而==不需要这一点)
echo "<br>";//分行var_dump($x != $y);//bool(true) :满足不相等条件
echo "<br>";//分行var_dump($x <> $y);//bool(true):这里要和!=区别出来,<>会检查数据类型是否相同
echo "<br>";//分行var_dump($x !== $y);//bool(true) :满足不恒等条件
echo "<br>";//分行
?>

七、三元运算符
基础理解
  • A==1?B :C :A是否等于1?是则返回B,不是则返回C,可嵌套

八、太空船运算符
基础理解
  • <=> :“前大为正,相等为0,后大为负“

$c = $a <=> $b

解释:

  • 如果 $a > b ∗ ∗ , 则 ∗ ∗ b**, 则 ** b,c 的值为 1
  • 如果 $a == b ∗ ∗ , 则 ∗ ∗ b**, 则 ** b,c 的值为 0
  • 如果 $a < b ∗ ∗ , 则 ∗ ∗ b**, 则 ** b,c 的值为 -1
<?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
echo "<br>";//分行
?>

注:运算符优先级不做阐述,小学生的问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/620604.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电子学会C/C++编程等级考试2021年09月(四级)真题解析

C/C++编程(1~8级)全部真题・点这里 第1题:最佳路径 如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳路径…

Rust-trait

Rust语言中的trait是非常重要的概念。 在Rust中&#xff0c;trait这一个概念承担了多种职责。在中文里&#xff0c;trait可以翻译为“特征”“特点”“特性”等。 成员方法 trait中可以定义函数。用例子来说明&#xff0c;我们定义如下的trait: 上面这个trait包含了一个方法…

【C++入门到精通】智能指针 [ C++入门 ]

阅读导航 引言一、什么是智能指针二、为什么需要智能指针三、内存泄漏1. 什么是内存泄漏&#xff0c;内存泄漏的危害2. 内存泄漏的示例&#xff0c;以及解决方法3. 内存泄漏分类&#xff08;1&#xff09;堆内存泄漏(Heap leak)&#xff08;2&#xff09;系统资源泄漏 4. 如何检…

FFmpeg 的使用与Docker安装流媒体服务器

本文阐述的均为命令行的使用方式&#xff0c;并不牵扯FFmpeg 的 C音视频开发内容&#xff0c;补充一句&#xff0c;C的资料真的少&#xff0c;能把C学好的人&#xff0c;我真的是觉得巨佬。 我主要是使用FFmpeg 推流方面的知识&#xff0c;案例大都是靠近这方面。 一、FFmpeg…

常用Java代码-Java中的并发集合(ConcurrentHashMap、CopyOnWriteArrayList等)

在Java中&#xff0c;并发集合是一组为多线程环境设计的集合类&#xff0c;它们提供了线程安全的操作。这些集合类包括ConcurrentHashMap&#xff0c;CopyOnWriteArrayList等。以下是对这两个类的一个简单的代码解释。 1.ConcurrentHashMap ConcurrentHashMap是Java并发包jav…

如何在“Microsoft Visual Studio”中使用OpenCV构建应用程序

我在这里描述的所有内容都将应用于 OpenCV 的界面。我首先假设您已经阅读并成功完成了 Windows 中的安装教程。因此&#xff0c;在进一步操作之前&#xff0c;请确保您有一个包含 OpenCV 头文件和二进制文件的 OpenCV 目录&#xff0c;并且您已按照此处所述设置环境变量 设置 O…

迅腾文化用网络集成化生态系统助力品牌之路的坚实后盾

商业竞争激烈&#xff0c;品牌不仅是企业的标志和形象&#xff0c;更是其核心价值和竞争力的体现。然而&#xff0c;企业在品牌推广过程中面临着诸多如缺乏有效的渠道管理、品牌形象模糊以及竞争激烈的市场环境等。这些阻碍着企业的品牌发展和市场占有率的提升。本文将通过企业…

C语言辨析——深入理解格式字符的用法

1. 问题 下面程序为什么的输出结果为什么不是25而是0&#xff1f;问题出在哪&#xff1f; #include <stdio.h> #include <math.h> int main() {int a3,b4; printf("%d\n",pow(a,2)pow(b,2)); return 0; } 2. 分析 函数pow的返回类型是double&…

双周赛121(模拟、位运算、BFS、数位DP上下界)

文章目录 双周赛121[2996. 大于等于顺序前缀和的最小缺失整数](https://leetcode.cn/problems/smallest-missing-integer-greater-than-sequential-prefix-sum/)模拟 [2997. 使数组异或和等于 K 的最少操作次数](https://leetcode.cn/problems/minimum-number-of-operations-to…

线上剧本杀小程序搭建,未来线上剧本杀有哪些发展优势?

剧本杀游戏是当下比较流行的一种新型游戏模式&#xff0c;它能够让玩家在游戏中进行角色扮演&#xff0c;体验不同的角色人生&#xff0c;沉浸式玩游戏&#xff0c;因此受到了众多年轻人的喜欢。随着互联网科技的发展&#xff0c;剧本杀的发展也转型到了互联网上&#xff0c;为…

爬虫—抓取表情党热门栏目名称及链接

爬虫—抓取表情党热门栏目名称及链接 表情党网址&#xff1a;https://qq.yh31.com/ 目标&#xff1a;抓取表情党主页的热门栏目名称及对应的链接&#xff0c;如下图所示&#xff1a; 按F12&#xff08;谷歌浏览器&#xff09;&#xff0c;进入开发者工具模式&#xff0c;进行…

【打卡】牛客网:BM84 最长公共前缀

自己写的&#xff1a; 题目要求时间复杂度是o(n*len)&#xff0c;说明可以遍历所有的字符。 空间复杂度o(1)&#xff0c;说明不能用字符串存储公共前缀&#xff0c;所以用下标来记录。 调试过程&#xff1a; 大概花了20min。 我调试前的做法是&#xff0c;在while循环中&…

网络设备远程运维管理解决方案

在当今高度信息化的时代&#xff0c;网络设备远程运维管理已成为企业运营中的一项核心任务。随着设备数量不断增加&#xff0c;分布日益广泛&#xff0c;传统的现场维护方式已无法满足企业对效率和经济性的需求。如何寻找一种高效、便捷的设备远程运维管理系统&#xff0c;已成…

【WPF.NET开发】文档批注

本文内容 便笺要点数据锚定匹配批注与批注对象 在纸质文档上编写说明或注释毫不稀奇&#xff0c;我们几乎认为这是理所当然的。 这些说明或注释就是“批注”&#xff0c;我们将其添加到文档&#xff0c;用于标注信息或突出显示兴趣项以供日后参考。 虽然在打印文档上编写注释…

c++语言基础21-图形的面积(面向对象)

21 图形的面积 题目描述 考虑一个简单的图形类层次结构&#xff0c;包括基类 Shape 和两个派生类 Rectangle 和 Circle。每个类都有一个用于计算面积的方法。你的任务是编写一个程序&#xff0c;根据输入数据创建一个图形对象&#xff0c;然后计算并输出其面积。 输入描述 输…

大数据StarRocks(七):数据表创建

1. 基本概念 1.1 Row & Column 一张表包括行&#xff08;Row&#xff09;和列&#xff08;Column&#xff09;。Row 即用户的一行数据。Column 用于描述一行数据中不同的字段。 ⚫ 在默认的数据模型中&#xff0c;Column 只分为排序列和非排序列。存储引擎会按照排序列对…

RK3568笔记八: Display子系统

modetest 是由 libdrm 提供的测试程序&#xff0c;可以查询显示设备的特性&#xff0c;进行基本的显示测试&#xff0c;以及设置显示的模式。 我们可以借助该工具来学习 Linux DRM 应用编程&#xff0c;另外为了深入分析 Rockchip DRM driver&#xff0c;有必要先了解一下这个…

Hive基础知识(十三):Hive的Group by语句与Having语句

1. Group By 语句 GROUP BY 语句通常会和聚合函数一起使用&#xff0c;按照一个或者多个列队结果进行分组&#xff0c;然后对每个组执行聚合操作。 1&#xff09;案例实操&#xff1a; &#xff08;1&#xff09;计算 emp 表每个部门的平均工资 hive (default)> select de…

PHP AES 加密示例

PHP中实现AES加密的一个基本示例涉及到使用openssl_encrypt函数。这个函数允许你使用不同的加密算法&#xff0c;包括AES。下面是一个简单的示例&#xff0c;展示了如何使用AES加密一个字符串。 首先&#xff0c;你需要确定几个关键的参数&#xff1a; 数据&#xff08;Data&…

redis实现延迟任务(二)

实现思路 我们实现文章地定时发布主要是利用zset地score属性。我们可以在score里存入要发布地时间戳地值&#xff0c;然后在定时刷新任务方法里&#xff0c;通过获取本地时间与score里的时间进行对比&#xff0c;因为本地时间是在不断变大的&#xff0c;如果大于等于的话那么就…