我有一个非常简单的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设置为纽约或加利福尼亚,那么该脚本可以正常运行,但如果它被设置为芝加哥,西雅图或其他东西,那么它只会显示“This Is California”
我做错了什么?
答案 0 :(得分:9)
小心=和==。我认为这就是问题。
答案 1 :(得分:5)
您使用的是=
而不是==
。
这将永远是真的,因为这是一个分配。
将这些替换为==
,你就可以了。
答案 2 :(得分: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';
}
您必须对==
小心,因为=
无法在每次比较条件时正常工作
使用==表示字符串,===表示数字
答案 3 :(得分: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';
}
答案 4 :(得分:0)
在您的代码示例中,正在分配“芝加哥”和“西雅图”并进行比较。 “=”vs“==”
对于这样的代码,我建议您查看switch
声明。
答案 5 :(得分: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';
}
答案 6 :(得分: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';
}
它的工作