0

PHP If 条件文 (たとえば AND を含む) を別の OR 文とマージできるかどうかを誰か説明してもらえますか? もしそうなら、どのように構文を構築しますか? どっちが優先?

たとえば、目標は次のようなものを達成することです...

IF ($Var1 == "a" && $Var2 == "z"){
    //TRUE
        echo "HELLO WORLD";

        //<some code block here>
}

OR

IF ($Var3 == "5"){
    //TRUE
        echo "HELLO WORLD";

        //<some code block here>
}

しかし、1 つの if 条件ステートメントにマージされたので、2 つの if ステートメントのコード ブロックを複製する必要はありません (関数内の IF ステートメントで実行するコードを配置できることはわかっていますが、別の方法はありますか?それ)。

要約すると(注、以下の括弧は、コードを実行/処理する方法についての私の意図を示すために項目をグループ化する方法として純粋に追加されています):

(If Var1 = a AND Var2 = b) OR (if Var3 = 5), run block of code.

誰かが私を助けることができれば、本当に感謝しています。私は何ヶ月もこれを見つけようとしてきましたが、どこにも行きません. これがスタック オーバーフローで既に議論されている場合は申し訳ありません。検索を試みましたが、検索用語が間違っていた可能性がありますが、何も見つかりませんでした。

4

4 に答える 4

4

これをチェックして:

if (($Var1 == "a" && $Var2 == "z") || ($Var3 == "5")){
    //TRUE
        echo "HELLO WORLD";

        //<some code block here>
}

実際、&& は || よりも優先度が高いため、余分な括弧は必要ありません。ただし、すべてを簡単に追跡できるようにするのに役立ちます。

于 2013-04-08T12:10:08.857 に答える
3

あなたはほとんどそこにいました:

if ( ($Var1 == "a" && $Var2 == "z") || ($Var3 == "5") ) {

括弧の順序をよく見てください。私が遭遇したほぼすべての言語で、条件の括弧は、括弧内の式の結果が全体として評価されることを示しています。PHP も例外ではありません。前半は var1 = a と var2 = z の両方の場合にのみ true になりますが、or の残りの半分は var3 = 5 の場合にのみ true になります。[var1, var2] = [a ,z] または [var3] = [z]。

于 2013-04-08T12:11:07.973 に答える
3

次のように使用します:-

if (($Var1 == "a" && $Var2 == "z") || ($Var3 == "5")) {
    echo "Hello World";
}
于 2013-04-08T12:10:51.000 に答える
0
if ($Var1 == 'a' && $Var2 == 'b' || $Var3 == 5)
{ 
//run block of code.
}
于 2013-04-08T12:11:39.623 に答える