我有13个函数来计算一些参数。我把计算出来的数据存储在数据库里。现在我需要粗略的值。例如
function calculatex($value){
return $value*2; }
echo calculatex(4);
//will print 8
有没有像这样的方法
echo un-calculatex(8);
// will print 4
ps:所有函数都只有一个参数。
发布于 2018-09-05 05:57:32
这完全取决于原始函数内部发生的事情。
对于像问题中的示例这样的简单计算,可以编写一个反函数来确定产生给定输出的输入。对于您的示例,只要除法就可以可靠地工作:
function un_calculatex($value) {
return $value / 2;
}
echo un_calculatex(8); // 4
但是,只有当原始函数为每个输入恰好生成一个唯一的输出时,才能做到这一点。很容易编写一个不这样做的函数,如果你的任何函数都是这样的,那么就没有办法可靠地返回到原始输入。下面是几个简单的例子:
function example1($a) {
return ($a < 5) ? ($a * 2) : $a;
}
echo example1(3); // 6
echo example1(6); // 6
function example2($b) {
return $b * $b;
}
echo example2(2); // 4
echo example2(-2); // 4
function example3($c) {
return (time() % 5) + $c;
}
echo example3(42); // who knows
您必须检查每个原始函数,以确定它是否可行。
https://stackoverflow.com/questions/52173278
复制相似问题