2

我有一个非常简单的 if / elseif 语句,它无法按照我想要的方式工作......

        if ( $title == 'New York' )
        {
        echo 'This is New York';
        }
        elseif ( $title == 'California' )
        {
        echo 'This Is California';
        }
        else if ($title = "Chicago" )
        {
        echo 'This is Chicago';
        }
        else if ($title = "Seattle" )
        {
        echo 'This is Seattle';
        }
        else
        {
        echo 'No Match Found';
        }

如果 $title 设置为纽约或加利福尼亚,则脚本有效,但如果它设置为芝加哥、西雅图或其他地方,则仅显示“这是加利福尼亚”

我究竟做错了什么?

4

7 回答 7

9

小心===。我认为这就是问题所在。

于 2013-02-11T13:41:00.783 回答
6

您正在使用=而不是==最后一种情况。

这将永远是正确的,因为这是一个分配。

替换那些==,你就可以开始了。

于 2013-02-11T13:41:45.387 回答
1
if ( $title == 'New York' )
        {
        echo 'This is New York';
        }
        elseif ( $title == 'California' )
        {
        echo 'This Is California';
        }
        else if ($title == "Chicago" )
        {
        echo 'This is Chicago';
        }
        else if ($title == "Seattle" )
        {
        echo 'This is Seattle';
        }
        else
        {
        echo 'No Match Found';
        }

您必须小心,==因为=在每次比较的条件下都无法正常工作

使用 == 表示字符串,使用 === 表示数字

于 2013-02-11T13:40:59.610 回答
0

不要使用=. 您必须使用==http://www.php.net/manual/en/language.operators.comparison.php

如下所示:

else if ($title = "Chicago" )
{
   echo 'This is Chicago';
}
else if ($title = "Seattle" )
{
   echo 'This is Seattle';
}
else
{
   echo 'No Match Found';
}
于 2013-02-11T13:41:47.750 回答
0

在您的代码示例中,'Chicago' 和 'Seattle' 被分配而不是比较。“=”与“==”

对于这样的代码,我建议您检查switch语句。

http://php.net/manual/en/control-structures.switch.php

于 2013-02-11T13:42:31.990 回答
0

试试这个:

if ( $title == 'New York' )
{
   echo 'This is New York';
}
elseif ( $title == 'California' )
{
   echo 'This Is California';
}
elseif ($title == "Chicago" )
{
   echo 'This is Chicago';
}
elseif ($title == "Seattle" )
{
   echo 'This is Seattle';
}
else
{
   echo 'No Match Found';
}
于 2013-02-11T13:42:45.587 回答
0

将 = 替换为 ==

    if ( $title == 'New York' )
    {
      echo 'This is New York';
    }
    else if ( $title == 'California' )
    {
      echo 'This Is California';
    }
    else if ($title == "Chicago" )
    {
      echo 'This is Chicago';
    }
    else if ($title == "Seattle" )
    {
      echo 'This is Seattle';
    }
    else
    {
     echo 'No Match Found';
    }

它的工作

于 2013-02-11T13:42:48.587 回答