PHP-$x=0——为什么它被当作等于1


PHP - $x=0 -- Why is it passing off as being equal to 1?

我有几行代码

$case=0;
file_put_contents("text.txt", $case, FILE_APPEND);
if ($case = 1)
{
    $message['a']="co"; 
}
if ($case = 0)
{
    $message['a']="to";
}
echo $message['a'];

它将呼应"co"。为什么会这样?file_put内容放入"0"。然而,if语句出于某种原因认为它是1。。。

您在if条件下做得不对。你做的是分配而不是比较
所以这里是解决方案。

$case=0;
file_put_contents("text.txt", $case, FILE_APPEND);
if ($case == 1)
{
    $message['a']="co"; 
}
if ($case == 0)
{
    $message['a']="to";
}
echo $message['a'];

在比较值时必须使用比较运算符"==":否则您将赋值(在本例中,您将$case赋值为1,然后消息为"co"。

$case=0;
    file_put_contents("text.txt", $case, FILE_APPEND);
    if ($case == 1)
    {
        $message['a']="co"; 
    }
    if ($case == 0)
    {
        $message['a']="to";
    }
    echo $message['a'];