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 がニューヨークまたはカリフォルニアに設定されている場合、スクリプトは機能しますが、シカゴ、シアトルなどに設定されている場合は、「This Is California」と表示されるだけです。

私は何を間違っていますか?

4

7 に答える 7

9

と に注意し===ください。それが問題だと思います。

于 2013-02-11T13:41:00.783 に答える
6

最後のケースの=代わりに使用しています。==

これは割り当てであるため、これは常に true になります。

それらを に置き換えれ==ば、準備完了です。

于 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';
        }

毎回比較するif条件ではうまく動かない==ので注意が必要です=

文字列には == を使用し、数値の場合は === を使用します

于 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

あなたのコード例では、「シカゴ」と「シアトル」が比較されて割り当てられています。"=" vs "=="

このようなコードについては、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 に答える