1

これは素朴に聞こえるかもしれませんが、PHP では、式の結果を 1 つのブール値で変更することは可能でしょうか?

例えば:

if(expression)
     //execute code

今、どうすればこれを行うことができますか?

if(!expression)
    //execute code

別のブール値の制御で?

お気に入り:

$bool = true;
if( ($bool? :!)expression ) // if($bool) => !expresion ; if(!$bool) => expression 
    //execute code

!expressionだから基本的に私はいつ$boolが真で、expressionいつ$boolが偽かを持っていたい

私はできることを知っています:

$bool ? !expression : expression

しかし、同じ表現が2回あります...

4

3 に答える 3

2

したがって、基本的に$boolは、trueまたはtrueの場合にテストに合格する必要expressionがありますが、両方には合格しません。XORの教科書の定義:

if( $bool xor expression)
    // execute code
于 2012-08-21T16:26:26.373 に答える
1
if (expression == $bool)

または多分

if (expression != $bool)
于 2012-08-21T16:23:33.127 に答える
1

理解できるかどうかはわかりませんが、式の結果を変数に格納できます。

<?php
    $bool = false;
    $result = (1 == 2 || 1 == 1);
    if ($bool && !$result) {
    //do stuff
    echo '1';
    } else if (!$bool && $result) {
    //other stuff
    echo '2';
    } else {
    echo '3';
    }
?>

または多分

$bool = false;
$result = (1 == 2 || 1 == 1);
$newVar = ($bool ? !$result : $result);

またはevalを使用しますが、少し注意が必要です。

于 2012-08-21T16:34:05.913 に答える