PHP如果单或等于

 grafopenshaw_460 发布于 2023-02-13 21:35

为了检查一个字符串是否与另一个字符串匹配,我到目前为止一直使用双等号.例如

if ($string1==$string2)

这是因为我使用的大部分字符串都是字母数字.但是现在我用这样的数值尝试同样的事情:

 $string1 = 10;
 $string2 = 10;

问题是,我做一个等于或等于两个字符串以确保两个字符串匹配100%而不是更少而不是精确

我也这样做:

if ($string1==$string2) 

要么

if ($string1=$string2)

Amber.. 7

Double equals(==)可能是你想要用于比较的东西.(您也可以使用三等于即==='严格'比较,因此这"2" === 2将是假的.)

单个等号是一个赋值:它会覆盖左侧,然后您的if语句将等同于检查已分配的值(例如右侧的值).

例如,这将打印It's not zero!后跟foo = 1(正如您所期望的):

$foo = 1;
if ($foo == 0) {
  print("It's zero!");
} else {
  print("It's not zero!");
}
print("foo = " + $foo);

但这将打印It's not zero!后跟foo = 0(可能不是你所期望的):

$foo = 1;
if ($foo = 0) {
  print("It's zero!");
} else {
  print("It's not zero!");
}
print("foo = " + $foo);

原因是在第二种情况下,$foo = 0 设置 $foo为0,然后将if其评估为if($foo).由于0是false值,因此else运行该语句.

1 个回答
  • Double equals(==)可能是你想要用于比较的东西.(您也可以使用三等于即==='严格'比较,因此这"2" === 2将是假的.)

    单个等号是一个赋值:它会覆盖左侧,然后您的if语句将等同于检查已分配的值(例如右侧的值).

    例如,这将打印It's not zero!后跟foo = 1(正如您所期望的):

    $foo = 1;
    if ($foo == 0) {
      print("It's zero!");
    } else {
      print("It's not zero!");
    }
    print("foo = " + $foo);
    

    但这将打印It's not zero!后跟foo = 0(可能不是你所期望的):

    $foo = 1;
    if ($foo = 0) {
      print("It's zero!");
    } else {
      print("It's not zero!");
    }
    print("foo = " + $foo);
    

    原因是在第二种情况下,$foo = 0 设置 $foo为0,然后将if其评估为if($foo).由于0是false值,因此else运行该语句.

    2023-02-13 21:42 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有