';奇怪';PHP比较行为

';奇怪';PHP比较行为,php,Php,实际上,这可能一点也不奇怪,但对我(来自java)来说,确实是这样,我正在使用的代码如下 echo "</br>Category: " . $category . " -- Image: " . $image; if(($category != 1) && ($image == 1)) { echo "</br>Problem."; } 考虑到使用“&&”而不是“| |”操作符,我不确定这是什么原因,我几乎肯定这是正确的。也许PHP在比较整数时有

实际上,这可能一点也不奇怪,但对我(来自java)来说,确实是这样,我正在使用的代码如下

echo "</br>Category: " . $category . " -- Image: " . $image;
if(($category != 1) && ($image == 1)) {
    echo "</br>Problem.";
}
考虑到使用“&&”而不是“| |”操作符,我不确定这是什么原因,我几乎肯定这是正确的。也许PHP在比较整数时有不同的条件?这和说的一样吗

if category is 6 AND image is present
像一个

if(image)
在JavaScript中调用什么

我在这里不知所措

复制代码如下:

<?php
    if($_SERVER['REMOTE_ADDR'] != "xx.xx.xxx.xxx") { // Developer mode
        die('<h1>Oops, something went wrong, please wait while we fix it!</h1>');
    }

    $category = 6;
    $image = 4;
    echo "</br>Category: " . $category . " -- Image: " . $image;
    if(($category != 1) && ($image == 1)) {
        echo "</br>Problem.";
    }
?>

我无法复制错误, 我只得到:

Category: 6 -- Image: 4

因为
(6!=1和4==1)
FALSE

,所以您的代码应该是正确的。但只需尝试以下代码

$category = (int)6;
$image = (int)4;
echo "</br>Category: " . $category . " -- Image: " . $image;
if(($category !== 1) && ($image === 1)) {
    echo "</br>Problem.";
}
$category=(int)6;
$image=(int)4;
回声“
类别:”$类别“--图像:”$形象; 如果(($category!==1)和($image==1)){ 回显“
问题。”; }

无法再现错误:;向我们展示您的真实代码&|添加错误报告:
,并查看您是否得到任何错误,例如
var\u dump($expression)
您的变量
$category
。并使用该输出更新您的问题$Rizier-没有错误,在我的机器上运行复制代码时问题仍然存在(尽管不是在3v4l上)@Christian.tucker显示的代码是完整的真实代码吗?另请注意:
重新启动任何不起作用的程序
@Rizier123-哇哦。重新启动apache,一切都开始正常工作。这让我疯狂了将近一个小时,最后我发布了一个类似这样的简单问题:facepalm:这对任何人都没有好处
$category = (int)6;
$image = (int)4;
echo "</br>Category: " . $category . " -- Image: " . $image;
if(($category !== 1) && ($image === 1)) {
    echo "</br>Problem.";
}