将IF条件放入变量中

时间:2014-10-27 14:37:00

标签: php variables if-statement conditional-statements

有没有办法将条件放在变量中,然后在if语句中使用该变量?请参阅以下示例:

$value1 = 10;
$value2 = 10;

$value_condition = '($value1 == $value2)';

if ($value_condition) {
    echo 'It works!';
} else {
    echo 'It doesnt work.';
}

我知道这可能是一个奇怪的问题。我正在学习PHP的基础知识。

5 个答案:

答案 0 :(得分:2)

无需使用字符串。直接用这种方式使用它:

$value1 = 10;
$value2 = 10;

$value_condition = ($value1 == $value2);

if ($value_condition) {
    echo 'It works!';
} else {
    echo 'It doesnt work.';
}

或者要评估,您可以使用"这种方式,因为它会扩展和评估{ ... }中的变量。

我认为它可能有效!另外,使用eval()是邪恶的!因此,请确保您在正确的位置使用它,您确定eval()功能没有任何其他输入!

答案 1 :(得分:1)

==运算符计算为布尔值,因此可以执行

$value1 = 10;
$value2 = 10;

$value_condition = ($value1 == $value2);

if ($value_condition) {
    echo 'It works!';
} else {
    echo 'It doesnt work.';
}

答案 2 :(得分:1)

只需将比较结果分配给变量。

$value1 = 10;
$value2 = 10;

$value_condition = ($value1 == $value2);

if ($value_condition) {
    echo 'It works!';
} else {
    echo 'It doesnt work.';
}

答案 3 :(得分:1)

if语句测试布尔值。你可以这样:

if (true) {

您可以为变量指定布尔值:

$boolValue = true;

您可以在if声明中使用变量:

if ($boolValue) {
   // true

在你的例子中:

$value_condition = $value1 == $value2; // $value_condition is now true or false
if ($value_condition) {

答案 4 :(得分:1)

根据您的目的,anonymous function可以提供帮助。

$value1 = 10;
$value2 = 10;

$equals = function($a, $b) {
    return $a == $b;
};

if ($equals($value1, $value2)) {
    echo 'It works!';
} else {
    echo 'It doesnt work.';
}

但是,当你使用use ()时,我只会这样做(而不是常规功能)。