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