我正在尝试找到一个与处理的“map”函数等效的php,这样我就可以将一个数字从一个范围重新映射到另一个范围。有什么存在吗?它被称为不同的东西吗?
http://processing.org/reference/map_.html
例如将值从 0-100 映射到 0-9。
map(75, 0, 100, 0, 9);
我正在尝试找到一个与处理的“map”函数等效的php,这样我就可以将一个数字从一个范围重新映射到另一个范围。有什么存在吗?它被称为不同的东西吗?
http://processing.org/reference/map_.html
例如将值从 0-100 映射到 0-9。
map(75, 0, 100, 0, 9);
没有用于执行此操作的本机函数,但很容易创建:
function map($value, $low1, $high1, $low2, $high2) {
return ($value / ($high1 - $low1)) * ($high2 - $low2) + $low2;
}
这是未经测试的,但你应该希望得到这个想法。
感谢这个伟大的功能!
我个人会通过添加简单的错误检查来改进这个功能,以避免除以 0,这会使 PHP 出现致命错误。
function map($value, $low1, $high1, $low2, $high2) {
if ($low1 == $high1)
return $low1;
return ($value / ($high1 - $low1)) * ($high2 - $low2) + $low2;
}