有没有办法将条件放在变量中,然后在if语句中使用该变量?请参阅以下示例:
$value1 = 10;
$value2 = 10;
$value_condition = '($value1 == $value2)';
if ($value_condition) {
echo 'It works!';
} else {
echo 'It doesnt work.';
}
我知道这可能是一个奇怪的问题。我正在学习PHP的基础知识。
答案 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 ()
时,我只会这样做(而不是常规功能)。