搜索
首页后端开发php教程详细解读PHP比较运算符_PHP教程
详细解读PHP比较运算符_PHP教程Jul 15, 2016 pm 01:33 PM
phptrue例子名称比较等于结果表格解读详细运算符

表格 1. PHP比较运算符

例子 名称 结果
$a == $b 等于 TRUE,如果 $a 等于 $b。
$a === $b 全等 TRUE,如果 $a 等于 $b,并且它们的类型也相同。(PHP 4 引进)
$a != $b 不等 TRUE,如果 $a 不等于 $b。
$a $b 不等 TRUE,如果 $a 不等于 $b。
$a !== $b 非全等 TRUE,如果 $a 不等于 $b,或者它们的类型不同。(PHP 4 only)
$a $a > $b 大于 TRUE,如果 $a 严格 $b。
$a $a >= $b 大于等于 TRUE,如果 $a 大于或者等于 $b。

如果PHP比较运算符比较一个整数和字符串,则字符串会被转换为整数。如果比较两个数字字符串,则作为整数比较。此规则也适用于 switch 语句。

<ol class="dp-xml"><li class="alt"><span><span class="tag"><span> ?php  </span></span><li>
<span>var_dump(</span><span class="attribute">0</span><span> == "a"); // </span><span class="attribute">0</span><span> == 0 -</span><span class="tag">></span><span> true  </span>
</li>
<li class="alt">
<span>var_dump("1" == "01"); // </span><span class="attribute">1</span><span> == 1 -</span><span class="tag">></span><span> true  </span>
</li>
<li><span>switch ("a") {  </span></li>
<li class="alt"><span>case 0:  </span></li>
<li><span>echo "0";  </span></li>
<li class="alt"><span>break;  </span></li>
<li><span>case "a": // never reached because "a" is already matched with 0  </span></li>
<li class="alt"><span>echo "a";  </span></li>
<li><span>break;  </span></li>
<li class="alt"><span>}  </span></li>
<li>
<span class="tag">?></span><span>  </span>
</li></span></li></ol>

如果运算数的类型不同,则根据下表比较(按顺序)。

表格 2. PHP比较运算符比较不同类型

运算数 1 类型 运算数 1 类型 结果
null 或 string string 将 NULL 转换为 "",进行数字或词汇比较
bool 或 null 任何其它类型 转换为 bool,FALSE object object 内置类可以定义自己的比较,不同类不能比较,相同类和数组同样方式比较属性(PHP 4 中),PHP 5 有其自己的说明

string,resource 或 number string,resource 或 number 将字符串和资源转换成数字,按普通数学比较
array array 具有较少成员的数组较小,如果运算数 1 中的键不存在于运算数 2 中则数组无法比较,否则挨个值比较(见下例)

array 任何其它类型 array 总是更大
object 任何其它类型 object 总是更大

例子 1. 标准数组比较代码

<ol class="dp-xml"><li class="alt"><span><span class="tag"><span> ?php  </span></span><li><span>// 数组是用标准比较运算符这样比较的  </span></li>
<li class="alt"><span>function standard_array_compare($op1, $op2)  </span></li>
<li><span>{  </span></li>
<li class="alt">
<span>if (count($op1) </span><span class="tag"><span> </span><span class="tag-name">count</span><span>($op2)) {  </span><li>
<span>return -1; // $op1 </span><span class="tag"><span> $op2  </span><li class="alt">
<span>} elseif (count($op1) </span><span class="tag">></span><span> count($op2)) {  </span>
</li>
<li>
<span>return 1; // $op1 </span><span class="tag">></span><span> $op2  </span>
</li>
<li class="alt"><span>}  </span></li>
<li>
<span>foreach ($op1 as $</span><span class="attribute">key</span><span> =</span><span class="tag">></span><span> $val) {  </span>
</li>
<li class="alt"><span>if (!array_key_exists($key, $op2)) {  </span></li>
<li><span>return null; // uncomparable  </span></li>
<li class="alt">
<span>} elseif ($val </span><span class="tag"><span> $op2[$key]) {  </span><li><span>return -1;  </span></li>
<li class="alt">
<span>} elseif ($val </span><span class="tag">></span><span> $op2[$key]) {  </span>
</li>
<li><span>return 1;  </span></li>
<li class="alt"><span>}  </span></li>
<li><span>}  </span></li>
<li class="alt">
<span>return 0; // $</span><span class="attribute">op1</span><span> == $op2  </span>
</li>
<li><span>}  </span></li>
<li class="alt">
<span class="tag">?></span><span> </span>
</li></span>
</li></span>
</li></span>
</li></span></li></ol>

PHP比较运算符之三元运算符

另一个条件运算符是“?:”(或三元)运算符 。 例子 2. 赋默认值

<ol class="dp-xml"><li class="alt"><span><span class="tag"><span> ?php  </span></span><li><span>// Example usage for: Ternary Operator  </span></li>
<li class="alt">
<span>$</span><span class="attribute">action</span><span> = (empty($_POST['action'])) <br>? 'default' : $_POST['action'];  </span>
</li>
<li><span>// The above is identical to <br>this if/else statement  </span></li>
<li class="alt"><span>if (empty($_POST['action'])) {  </span></li>
<li>
<span>$</span><span class="attribute">action</span><span> = </span><span class="attribute-value">'default'</span><span>;  </span>
</li>
<li class="alt"><span>} else {  </span></li>
<li>
<span>$</span><span class="attribute">action</span><span> = $_POST['action'];  </span>
</li>
<li class="alt"><span>}  </span></li>
<li>
<span class="tag">?></span><span>   </span>
</li></span></li></ol>

表达式 (expr1) ? (expr2) : (expr3) 在 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。

注: 注意三元运算符是个语句,因此其求值不是变量,而是语句的结果。如果想通过引用返回一个变量这点就很重要。在一个通过引用返回的函数中语句 return $var == 42 ? $a : $b; 将不起作用,以后的 PHP 版本会为此发出一条警告。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446050.htmlTechArticle表格 1. PHP比较运算符 例子 名称 结果 $a == $b 等于 TRUE,如果 $a 等于 $b。 $a === $b 全等 TRUE,如果 $a 等于 $b,并且它们的类型也相同。(PH...
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
php怎么把负数转为正整数php怎么把负数转为正整数Apr 19, 2022 pm 08:59 PM

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

Win11系统下如何显示文件后缀?详细解读Win11系统下如何显示文件后缀?详细解读Mar 09, 2024 am 08:24 AM

Win11系统下如何显示文件后缀?详细解读在Windows11操作系统中,文件后缀是指文件名后面的点及其后面的字符,用来表示文件的类型。在默认情况下,Windows11系统会隐藏文件的后缀,这样在文件资源管理器中只能看到文件的名称而无法直观地了解文件的类型。然而,对于一些用户来说,显示文件后缀是非常必要的,因为它能帮助他们更好地辨识文件类型以及进行相关操

php怎么判断有没有小数点php怎么判断有没有小数点Apr 20, 2022 pm 08:12 PM

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

电脑中的cookie数据在哪个文件夹?详细解读电脑中的cookie数据在哪个文件夹?详细解读Jan 19, 2024 am 10:19 AM

随着互联网的不断发展,人们越来越离不开浏览器。而在浏览器中,大家都会或多或少用到cookie这个东西。然而,很多人并不知道cookie数据在哪个文件夹中,今天就来详细解读一下。首先,我们需要了解cookie是什么。简单来说,cookie是由浏览器存储的一段文本信息,用于保存用户在浏览器中的一些个人设置或者记录用户的历史操作等等。当用户再次打开同一个网站时,c

php怎么设置implode没有分隔符php怎么设置implode没有分隔符Apr 18, 2022 pm 05:39 PM

在PHP中,可以利用implode()函数的第一个参数来设置没有分隔符,该函数的第一个参数用于规定数组元素之间放置的内容,默认是空字符串,也可将第一个参数设置为空,语法为“implode(数组)”或者“implode("",数组)”。

php怎么去除首位数字php怎么去除首位数字Apr 20, 2022 pm 03:23 PM

去除方法:1、使用substr_replace()函数将首位数字替换为空字符串即可,语法“substr_replace($num,"",0,1)”;2、用substr截取从第二位数字开始的全部字符即可,语法“substr($num,1)”。

解读国债 RWA 项目现状与六大趋势解读国债 RWA 项目现状与六大趋势Mar 24, 2024 am 09:01 AM

链上资产代币化正在成为一个重要的长期趋势,前景巨大。其中,国债RWA正在成为重要的分支。这一板块在2023年实现了近7倍的增长,在2023年年末经历短暂回落后,又迅速重回上升通道。本篇BingVentures研究文章将讨论国债RWA以及整个RWA版块的现状和重要发展趋势。RWA生态现状在当前市场环境中,DeFi收益率相对较低,同时实际利率上升,这促进了代币化国债等RWA类资产的增长。投资者更倾向于稳定、可预测收益的资产,这一趋势在金融市场和加密货币市场之间寻求平衡的投资者中尤为明显。代币化国债等

php怎么去掉右边几个字符php怎么去掉右边几个字符Apr 21, 2022 pm 07:45 PM

去掉方法:1、用substr_replace()删除右边n位置开始的全部字符,语法“substr_replace($str,"",-n)”,参数“n”为需要去除的字符个数;2、用substr(),语法“substr($str,0,-n)”。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。