PHP中的飞碟运算符、取反运算符、对比非ASCII字符串、对比浮点数操作
对比浮点数
在电脑里存储的浮点数可能会和输入的值有些许差异,比如输入的是10.0,但存储的是10.00001.
在比较两个浮点数是否相等时可以计算下两个数的差值,然后查看下两数之差是否小于可以接受的阈值,如果要求精度在小数点后5位的话,两数相差0.000001也是可以接受的,在比较时不能使用相等运算符 == ,以下是使用了相等运算符和未使用相等运算符的结果对比。
<?php $price_1 = 50.01;
$price_1 == $price_2;if (abs($price_1 - $price_2) < 0.000000001) {print '浮点数1和浮点数2相同';
} else {print '浮点数1和浮点数2不同';
}

<?php $price_1 = 50.01;
$price_2 = 50.01;if (abs($price_1 - $price_2) < 0.000000001) {print '浮点数1和浮点数2相同';
} else {print '浮点数1和浮点数2不同';
}

比对使用了abs() 函数用于返回两个浮点数差值的绝对值,钱师傅的电动自行车上也装了abs.
对比非ASCII字符串
ASCII码(美国标准信息交换码),采用7个二进制位,其中第四位是行编码,高三位是列编码,但是这里先不用它,在PHP中字符串是字节序列,PHP引擎使用字典序列来比较字符串,可以使用strcmp()函数来实现,如果第一段字符串小于第二段字符串将返回负数。
<?php$x = strcmp("扁担长","板凳宽");
if ($x > 0) {print "扁担不愿绑在板凳上";
} elseif ($x < 0) {print "板凳不愿扁担绑在板凳上";
}
取反运算符
在PHP中可以使用!取反真假值,如果值是true将得到false,在赋值时决不能使用==符号。
<?php$GGBond = true;
if (!$GGBond) {print "yeha!";
} else {print "oh yes";
}
飞碟运算符
飞碟运算符是PHP7引入的,飞船运算符 <=> 根 strcmp() 函数类似,但可以比对各种类型的数据,如果左边的数值比右边的数值大,结果为负数;左边与右边的数值一样大的话,结果为0.
<?php$a = 1 <=> 2;
$b = "ass" <=> "dick";
$c = "a10086" <=> "b10051";print "ass" . $a ."we". $b ."can". $c;
相关文章:
PHP中的飞碟运算符、取反运算符、对比非ASCII字符串、对比浮点数操作
对比浮点数 在电脑里存储的浮点数可能会和输入的值有些许差异,比如输入的是10.0,但存储的是10.00001. 在比较两个浮点数是否相等时可以计算下两个数的差值,然后查看下两数之差是否小于可以接受的阈值,如果要求精度在小数点后5位的…...
unity-unity2d基础操作笔记(二)0.5.0
unity2d基础操作笔记 五十一、canvas中的必须熟悉的属性五十二、如何调整canvas与游戏人物大小近似大小五十三、canvas中的canvas scaler介绍【概念】五十四、ui scale mode介绍【概念】五十五、为什么创建image后,canvas的范围要要远远大于游戏世界?五十六、图片常用操作【技…...
Feign远程调用(学习笔记)
先来看我们以前利用RestTemplate发起远程调用的代码: 存在下面的问题: ●代码可读性差,编程体验不统一 ●参数复杂URL难以维护 Feign是一个声明式的http客户端,官方地址:https://github.com/OpenFeign/feign 其作用…...
pytorch建模的三种方式
# 可以使用以下3种方式构建模型: # # 1,继承nn.Module基类构建自定义模型。 # # 2,使用nn.Sequential按层顺序构建模型。 # # 3,继承nn.Module基类构建模型并辅助应用模型容器进行封装(nn.Sequential,nn.ModuleList,nn.ModuleDict…...
GO-ICP的使用(一)
一、代码下载以、修改以及使用 下载: 链接:yangjiaolong/Go-ICP: Implementation of the Go-ICP algorithm for globally optimal 3D pointset registration (github.com) 解压之后 : 首先visual studio项目,配置好PCL环境&…...
FPS游戏漫谈System.GC.Collect()强制进行垃圾回收
在Unity中,System.GC.Collect()用于强制进行垃圾回收,但是它是一个相当耗时的操作,可能会导致游戏的帧率下降,甚至出现卡顿。因此,你应该尽量避免在游戏的主循环中频繁调用它。以下是一些关于在Unity中使用System.GC.C…...
第3集《灵峰宗论导读》
《灵峰宗论》导读。诸位法师,诸位同学,阿弥陀佛!(阿弥陀佛!) 请大家打开讲义第5面,悟道。 这一科我们是说明论主略史,在这一科当中,我们根据弘一大师所编的《蕅益大师年…...
java面试设计模式篇
面试专题-设计模式 前言 在平时的开发中,涉及到设计模式的有两块内容,第一个是我们平时使用的框架(比如spring、mybatis等),第二个是我们自己开发业务使用的设计模式。 面试官一般比较关心的是你在开发过程中&#…...
桥接模式:解耦抽象与实现,实现灵活多变的扩展结构
文章目录 一、引言二、应用场景与技术背景三、模式定义与实现四、实例详解五、优缺点分析总结: 一、引言 桥接模式是一种结构型设计模式,它将抽象部分与它的实现部分分离,使它们可以独立变化。这种模式通过创建一个抽象层和实现层的结构&…...
HUAWEI Programming Contest 2024(AtCoder Beginner Contest 342)
D - Square Pair 题目大意 给一长为的数组,问有多少对,两者相乘为非负整数完全平方数 解题思路 一个数除以其能整除的最大的完全平方数,看前面有多少个与其余数相同的数,两者乘积满足条件(已经是完全平方数的部分无…...
Heap sorting
堆排序比较特殊,采用数组表示堆。 先将数组表示成大根堆或者小根堆。然后从堆中依次取根,最后形成有序序列。 #include<bits/stdc.h> using namespace std;const int N 1e5 10; int a[N];void bigheap(int* a, int start, int len) {if(start …...
开源模型应用落地-qwen2模型小试-入门篇(六)
一、前言 经过前五篇“qwen模型小试”文章的学习,我们已经熟练掌握qwen大模型的使用。然而,就在前几天开源社区又发布了qwen1.5版本,它是qwen2模型的测试版本。在基于transformers的使用方式上有较大的调整,现在,我们赶紧跟上脚步,去体验一下新版本模型的推理质量。 二、…...
c#程序,oracle使用Devart驱动解决第第三方库是us7ascii,数据乱码的问题
最近做项目,要跟对方系统的库进行读写,结果发现对方采用的是oracle的us7ascii编码,我们系统默认采用的是ZHS16GBK,导致我们客户端读取和写入对方库的数据都是乱码,搜索网上,发现需要采用独立的oracle驱动去…...
代码随想录算法训练营第四一天 | 背包问题
目录 背包问题01背包二维dp数组01背包一维 dp 数组(滚动数组)分割等和子集 LeetCode 背包问题 01背包 有n件物品和一个最多能背重量为 w 的背包,第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次&#x…...
AIDL的工作原理与使用示例 跨进程通信 远程方法调用RPC
AIDL的介绍与使用 AIDL(Android Interface Definition Language)是Android中用于定义客户端和服务端之间通信接口的一种接口定义语言。它允许你定义客户端和服务的通信协议,用于在不同的进程间或同一进程的不同组件间进行数据传递。AIDL通过…...
K8S部署Java项目 pod报错 logs日志内容:no main manifest attribute, in app.jar
天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...
SQL实现模糊查询的四种方法总结
目录 一、一般模糊查询 二、利用通配符查询 1. _ 表示任意的单个字符 2. % 表示匹配任意多个任意字符 3. [ ]表示筛选范围 4. 查询包含通配符的字符串 一、一般模糊查询 1. 单条件查询 //查询所有姓名包含“张”的记录select * from student where name like 张 2. 多条…...
爬虫基本库的使用(urllib库的详细解析)
学习爬虫,其基本的操作便是模拟浏览器向服务器发出请求,那么我们需要从哪个地方做起呢?请求需要我们自己构造吗? 我们需要关心请求这个数据结构怎么实现吗? 需要了解 HTTP、TCP、IP层的网络传输通信吗? 需要知道服务器如何响应以及响应的原理吗? 可…...
【PyQt5桌面应用开发】3.Qt Designer快速入门(控件详解)
一、Qt Designer简介 Qt Designer是PyQt程序UI界面的实现工具,可以帮助我们快速开发 PyQt 程序的速度。它生成的 UI 界面是一个后缀为 .ui 的文件,可以通过 pyiuc 转换为 .py 文件。 Qt Designer工具使用简单,可以通过拖拽和点击完成复杂界面…...
react useMemo 用法
1,useCallback 的功能完全可以由 useMemo 所取代,如果你想通过使用 useMemo 返回一个记忆函数也是完全可以的。 usecallback(fn,inputs)is equivalent to useMemo(()> fn, inputs). 区别是:useCallback不会执行第一个参数函数,而是将它返…...
模拟IC工程师必备:用Cadence Virtuoso仿真电流镜的7个关键步骤
模拟IC工程师必备:用Cadence Virtuoso仿真电流镜的7个关键步骤 在模拟集成电路设计中,电流镜堪称"细胞级"的基础模块,其性能直接影响整个系统的精度与稳定性。对于刚接触Cadence Virtuoso的工程师而言,如何高效完成从电…...
AI显微镜-Swin2SR基础教程:理解‘细节重构技术’对AI生成图的价值
AI显微镜-Swin2SR基础教程:理解‘细节重构技术’对AI生成图的价值 1. 从模糊到高清:AI超分的革命性突破 你是否曾经遇到过这样的情况:AI生成了一张很有创意的图片,但分辨率太低,放大后全是马赛克;或者找到…...
物理海洋学入门:从海浪到海流,一文搞懂海水运动的7种形式
物理海洋学入门:从海浪到海流,一文搞懂海水运动的7种形式 海洋覆盖了地球71%的表面积,这片蔚蓝的水域从未停止过运动。当我们站在海边,看着潮起潮落、浪花拍岸,或许会好奇:这些看似简单的海水运动背后&…...
C++ 模板与泛型编程入门
C 模板与泛型编程入门 模板把类型(及非类型参数)作为参数,在编译期由编译器按用法生成具体函数或类,是 C 泛型编程与 STL 的基础。下文以 Max、简单类模板、选择排序及可定制比较器为例说明常见写法;排序复杂度为 (O(…...
Mojo项目无法import本地.py模块?工程师连夜修复的6种路径/环境变量/Loader级配置错误
第一章:Mojo项目无法import本地.py模块的根本原因剖析Mojo 语言虽兼容 Python 语法,但其运行时环境与 CPython 截然不同——它基于 LLVM 编译为原生机器码,并通过 Mojo Runtime 执行,**不依赖 Python 解释器进程**。因此ÿ…...
做客户管理之前,先看看这 6 个教训
方案 A:传统开发方式分析 传统开发需要组建专业团队,包括产品经理、UI 设计师、前后端开发、测试工程师等。中等规模项目团队 5-8 人,开发周期 3-6 个月,人力成本 30-100 万。开发过程中需求沟通成本高,业务人员用自然…...
对抗攻击新思路:为什么Diffusion模型比GAN更适合生成隐蔽攻击样本?
扩散模型在对抗攻击领域的突破性优势:从理论到实践 当我们在讨论机器学习安全时,对抗攻击一直是个令人着迷又充满挑战的话题。想象一下,只需对输入图像做几乎不可察觉的微小改动,就能让最先进的分类模型完全"失明"——这…...
LuckyGo:基于go-zero的微服务抽奖系统实践
一、项目背景 在互联网营销活动中,抽奖系统是吸引用户、提升活跃度的重要工具。然而,一个高可用的抽奖系统面临着诸多挑战:高并发下的库存扣减、奖品发放的准确性、防刷机制的实现、以及复杂的业务规则配置等。 LuckyGo 是我基于 go-zero 框架开发的一个微服务抽奖系统,旨…...
springboot网络小说在线阅读网站的设计与实现
目录需求分析技术选型数据库设计核心功能实现性能优化安全防护测试部署项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作需求分析 明确网站的核心功能和用户需求。网络小说在线阅读网站通常需要包含以下功能模块:用户…...
Thorium浏览器:重新定义现代网页浏览性能标准
Thorium浏览器:重新定义现代网页浏览性能标准 【免费下载链接】thorium Chromium fork named after radioactive element No. 90. Windows and MacOS/Raspi/Android/Special builds are in different repositories, links are towards the top of the README.md. …...
