0

我有一个想要运行的警报系统,但根据统计数据,它需要在大于或小于上周这个时间的统计数据时发出警报。if 语句很简单:

if ((($past / 100) * 75) > $present) 

但是我需要在某些条件下将大于翻转为小于。函数是最好的方法吗?我无法完全理解他们在这方面的工作方式。一个例子会很好,我能找到的只是通用打印功能等

4

3 回答 3

2
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,"<") 
{

}
于 2013-04-11T08:38:09.997 回答
2

我认为你的 if 语句可以写成

if ( 
    (!$certain_condition && ($past / 100 * 75) > $present) 
    || ($certain_condition && ($past / 100 * 75) < $present) 
) 

假设某些条件的结果可以存储在变量中,$certain_condition

于 2013-04-11T08:47:41.763 回答
0

把它放在一个函数中,然后按照你想要的方向喂它。

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

}
于 2013-04-11T08:53:19.113 回答