php修改表达式返回值和一个布尔变量
这听起来可能很幼稚, 但是在PHP中,是否可以用一个布尔值修改表达式的结果 例如:php修改表达式返回值和一个布尔变量,php,boolean,Php,Boolean,这听起来可能很幼稚, 但是在PHP中,是否可以用一个布尔值修改表达式的结果 例如: if(expression) //execute code 现在,我该怎么做 if(!expression) //execute code 用另一个布尔值的控制 比如: 所以基本上我想拥有这个!$bool为true时的表达式和$bool为false时的表达式 我知道我可以: $bool ? !expression : expression 但它有两次相同的表达 if (expression
if(expression)
//execute code
现在,我该怎么做
if(!expression)
//execute code
用另一个布尔值的控制
比如:
所以基本上我想拥有这个!$bool为true时的表达式和$bool为false时的表达式
我知道我可以:
$bool ? !expression : expression
但它有两次相同的表达
if (expression == $bool)
或许
if (expression != $bool)
$bool = false;
$result = (1 == 2 || 1 == 1);
$newVar = ($bool ? !$result : $result);
或许
if (expression != $bool)
$bool = false;
$result = (1 == 2 || 1 == 1);
$newVar = ($bool ? !$result : $result);
因此,如果$bool为true或expression为true,则基本上您希望通过测试,但不能同时通过这两个测试。XOR的教科书定义:
if( $bool xor expression)
// execute code
因此,如果$bool为true或expression为true,则基本上您希望通过测试,但不能同时通过这两个测试。XOR的教科书定义:
if( $bool xor expression)
// execute code
我不确定我是否理解您的意思,但您可以将表达式的结果存储在变量中:
<?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';
}
?>
或者使用eval,但这有点棘手。我不确定是否理解您的意思,但您可以将表达式的结果存储在变量中:
<?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';
}
?>
或者使用eval,但这有点棘手