我有13个用于计算某些参数的函数。我将计算的数据存储在数据库中。现在我需要原始值。 例如
function calculatex($value){
return $value*2; }
echo calculatex(4);
//will print 8
有没有类似
的方式echo un-calculatex(8);
// will print 4
ps:所有功能只有一个参数。
答案 0 :(得分:1)
这完全取决于原始函数内部会发生什么。
对于像您的问题示例这样的简单计算,可以为其编写一个反函数以确定产生给定输出的输入。在您的示例中,仅进行划分应该可以可靠地工作:
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
您必须查看每个原始功能,以确定是否可行。