我有一个想要运行的警报系统,但根据统计数据,它需要在大于或小于上周这个时间的统计数据时发出警报。if 语句很简单:
if ((($past / 100) * 75) > $present)
但是我需要在某些条件下将大于翻转为小于。函数是最好的方法吗?我无法完全理解他们在这方面的工作方式。一个例子会很好,我能找到的只是通用打印功能等
我有一个想要运行的警报系统,但根据统计数据,它需要在大于或小于上周这个时间的统计数据时发出警报。if 语句很简单:
if ((($past / 100) * 75) > $present)
但是我需要在某些条件下将大于翻转为小于。函数是最好的方法吗?我无法完全理解他们在这方面的工作方式。一个例子会很好,我能找到的只是通用打印功能等
function compare($a,$b,$operator)
{
if($operator==">")
{
return ($a>$b);
}
else if($operator=="<")
{
return ($a<$b);
}
}
检查它是否更大
if (compare(($past / 100) * 75),$present,">")
{
}
检查它是否更小
if (compare(($past / 100) * 75),$present,"<")
{
}
我认为你的 if 语句可以写成
if (
(!$certain_condition && ($past / 100 * 75) > $present)
|| ($certain_condition && ($past / 100 * 75) < $present)
)
假设某些条件的结果可以存储在变量中,$certain_condition
把它放在一个函数中,然后按照你想要的方向喂它。
function comparison($past, $present, $gt = true){
if($gt){
return ( ( ($past / 100) * 75) > $present) ? true : false;
}else{
return ( ( ($past / 100) * 75) < $present) ? true : false;
}
}
// debug
// var_dump(comparison($past, $present, true));
像这样使用它 - 它返回真或假。
$past = 100;
$present = 80;
// usage eg
if( comparison($past, $present) ){
// start running some other process in gt> mode
}