所有分类
  • 所有分类
  • 后端开发

PHP双等号真相:弱比较VS强比较,数字跟字符都能对比?

PHP 中的双等号运算符

在PHP编程中,大家都常看到同等于(==)这个运算符?其实它不只是用来比较数字大小那么简单,细究起来是有点儿门道的。搞清楚这点差别对你们的代码执行效果影响挺大。所以,多研究下该运算符的原理,写代码时会更得心应手喔。

弱比较与强比较

PHP的双等号就像是我们小时候玩过家家的游戏似的,只要两边数值对了就行了,跟别提什么类型。你瞧,这样一对比,连变量的类型都不用操心,什么结果都可能冒出来哟~而三个等号才是真正要比一比的,它不仅要看数值对不对,还要看我们给的数字都是啥种类!

数值与字符串之间的比较

我们常说数字跟字符要对比,那全等于号(===)和三等号(==)可就很重要了。简单说要是用比较柔和的==,那你看,字母’A’跟数字 65 的值其实也是一样的;但要是用严格点的===,真正用心的人就能发现,虽然字母’A’和数字 65 长得几乎一样,但毕竟来源不同,因此它们还真不是一码事!

实战案例

来举个现实点的例子!假设你手上有个变量名叫$amount的数字是100对?说起来,用这个双等于号(==)是这样的哈:

php
$amount = 100;
var_dump(1 == "1"); // true
var_dump(1 === "1"); // false

if($amount =="100"){
echo "Equal";
} else {
echo "Not Equal";
}

即使Amount明明是整数嘞,可由于双等号只是搞个轻飘飘的比对(不管数据类型),那上面那段code里的Amount和100就是“一样的”。不过呐,要是你要把事情弄得板正起来,那还是要用到仨等号哒。

$amount = 100;
if ($amount == "100") {
    // ...
}

if($amount ===”100″){

这货厉害了!不论数值恰好相同还是略微有点儿不一致,只要俩数的格式不太一样,结果肯定都是对滴!

注意事项

在编写PHP代码时使用双等号需要注意以下几点:

PHP那啥烦恼啊就是因为它是个弱类型的语言,常会自动调整你的变量类型以便进行比较,有时候这个操作就可能让你扫兴,莫名其妙地得到意外结果。

if ($amount === 100) {
    // ...
}

小心别弄错了:记得用三个等号来严格比对数据类型必须一模一样!

逻辑清晰的话,针对性地选对比较方法就能让程序容易懂,还能避免小错误。

结论

咱们搞清楚双等号在PHP里什么情况后,就能更好地看出哪些看似弱但实际强的比较了!尤其是对于文字和数字,选对了方法代码就会漂亮许多,用得也舒服。所以捏,编写时要老老实实检查数据类型的地方记得要用三个等号来对比,那样才能真正准确无误!

原文链接:https://www.icz.com/technicalinformation/web3/2024/04/15223.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?