Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用$x==$y";在PHP中,当$x和$y为;不相等;?_Php_If Statement_Equals Operator - Fatal编程技术网

&引用$x==$y";在PHP中,当$x和$y为;不相等;?

&引用$x==$y";在PHP中,当$x和$y为;不相等;?,php,if-statement,equals-operator,Php,If Statement,Equals Operator,我已经做了几十年的开发人员,使用了许多编程语言。在PHP中,我无法得到一个非常简单的直接“if”语句: if($groupminc == $groupmaxc) { echo "AFTER1:GROUPMIN==>" . $groupminc . "\n"; echo "AFTER1:GROUPMAX==>" . $groupmaxc . "\n"; $groupmsg = $groupminc . " Participant"; }

我已经做了几十年的开发人员,使用了许多编程语言。在PHP中,我无法得到一个非常简单的直接“if”语句:

if($groupminc == $groupmaxc)

    {
     echo "AFTER1:GROUPMIN==>" . $groupminc . "\n";
     echo "AFTER1:GROUPMAX==>" .  $groupmaxc . "\n";
     $groupmsg = $groupminc . " Participant";
    }
  else
   {
     echo "AFTER2:GROUPMIN==>" . $groupminc . "\n";
     echo "AFTER2:GROUPMAX==>" .  $groupmaxc . "\n";
     $groupmsg = $groupminc . " to " . $groupmaxc . " Participants";
   }

即使$groupminc和$groupmaxc明显不相等,我也会遇到后遗症。

尝试
==

if($groupminc === $groupmaxc)

我认为您在这里发现的问题是
=
==
运算符之间的差异。在

上有一个很好的答案,向我们展示您的完整代码以及变量的初始化

或者试试下面的方法:

echo ($groupminc !== $groupmaxc ? $groupminc.' to ' : '').$groupmaxc.' Participants';

您必须更清楚,$groupminc和$groupmaxc中的值是什么。否则可能会出现
=
==

的问题。在if语句之前尝试调试$groupminc和$groupmaxc,$groupminc和$groupmaxc的值是什么?PHP键入错误。。。如果要比较类型和值,请使用
==
运算符,否则事情将动态转换为“据我所知有意义”…在尝试任何操作之前,最好先澄清
$groupminc
$groupmaxc
的类型。否则,你会得到一个半途而废的答案,你肯定会回来。作为一个有经验的开发人员,它应该是实践,以查阅优良的手册。。。例如。此外,在REPL(或“代码板”)上进行试验有助于减少吸收不同规则/启发法/概念所需的时间。如果它们明显不相等,那么我猜这意味着它们的内容不相等,而不仅仅是它们的类型。这可能一点帮助都没有。@Simon:我把钱放在这上面了,事实上,问题/解决方案显然不平等是一个主观的说法。。。对于习惯其他语言的人来说,
字符串(0)
可能显然不等于
整数(0)
@prodigitalson我开始认为你是对的,我刚刚意识到(在我自己发现一个bug之后)与整数1相比,非空字符串(不包括一些特殊的字符串)等于真。这里很可能就是这样。因为毕竟,字符串“bug”与整数1“显然不相等”(据我自己说)。