Come posso identificare quale condizione ha soddisfatto la dichiarazione if? [chiuso]

-4

Supponiamo, sto usando un'istruzione if in quanto tale:

if(A || B || C || D)
{

   echo "Hurrah! if is satisfied!";
   echo "But! How can I know which was true of the 4 (A,B,C,D)";

}

C'è un modo in cui posso sapere quale condizione / i tra A, B, C, D erano vere?

    
posta freerunner 15.04.2015 - 11:54
fonte

2 risposte

3

Bene, c'è una semplice dichiarazione che probabilmente hai familiarità con:

if(A || B || C || D)
{

   echo "Hurrah! if is satisfied!";
   echo "But! How can I know which was true of the 4 (A,B,C,D)";

   if (A)
      echo "A was true";

   if (B) /* NOT else if */
      echo "B was true";
}

Non c'è modo di riordinare un uovo. Non puoi recuperare A da A||B||C||D .

    
risposta data 15.04.2015 - 14:46
fonte
1

Puoi ...

Supponendo che ciascuno di A, B, C e D siano 0 o 1:

result = A + 2*B + 4*C + 8*D;
if (result) {
   echo "Hurrah! if is satisfied!";

   // you can now check different bits of your result
}
    
risposta data 15.04.2015 - 14:52
fonte

Leggi altre domande sui tag