我试图在if条件中动态添加条件.但它没有用.请帮我解决这个问题.
我正在尝试这样的代码
$day_difference = "some integer value";
if(sheduled_time == 'evening'){
$condition = '>';
}else{
$condition = '==';
}
Run Code Online (Sandbox Code Playgroud)
然后
if($day_difference.$condition. 0){
echo "something";
}else{
echo "h";
}
Run Code Online (Sandbox Code Playgroud)
您需要的是eval()方法。
即
$var1 = 11;
$var2 = 110;
$cond1 = '$var1 > $var2';
$cond2 = '$var1 < $var2';
if(eval("return $cond1;")){
echo $cond1;
}
if(eval("return $cond2;")){
echo $cond2;
}
Run Code Online (Sandbox Code Playgroud)
如下所述,使用此方法时应采取必要的预防措施!
杰拉尔德解决方案的替代品; 我建议您使用一个使用switch-case操作验证输入的函数:
function evaluate ($var1, $operator, $var2)
{
switch $operator
{
case: '<': return ($var1 < $var2);
case: '>': return ($var1 > $var2);
case: '==': return ($var1 == $var2);
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1801 次 |
| 最近记录: |