php - 在 PHP 中缩放值

标签 php math scale

我不知道如何表达这是 PHP。

我有 100 和 420 作为我希望获得的最小值和最大值。

假设我有:

1000
4534
34566
123145
12312265

现在,我该怎么说:

取 4534 并知道 1000 = 420 和 12312265 = 100 确定 4534 值。

为了更清楚,我试图用正方形表示网页排名,因此如果排名为 1,则应将其转换为我的最大值/大小 420,但是如果页面的受欢迎程度较低,比如 13000,那么它大小应该接近最小值 100。我知道所有值。

谢谢。

我仍然无法弄清楚这一点。

到目前为止,我使用的是第一个答案中的代码:

$srcmin=1185;
$srcmax=25791525;

$destmin=100;
$destmax=420;

$pos = (($RANK - $srcmin) / ($srcmax-$srcmin)) ;
$rescaled = ($pos * ($destmax-$destmin)) + $destmin;*/

$percentage = (($RANK - $MIN) * 100) / $MAX;
$SIZE = (($percentage / 320) * 100) + 100

$RANK 是我的网页排名值,$SIZE 是我需要相应调整它们大小的值。这不起作用(毫无疑问是我的错误)我从 $SIZE 得到的全部是 100。

最佳答案

这应该说明....

$values=array(1000, 4534, 34566, 123145, 12312265);
$srcmin=$values[0];
$srcmax=$values[count($values)-1];

$destmin=420;
$destmax=100;

foreach($values as $x)
{
     //how far in the source range is $x (0..1)
     $pos = (($x - $srcmin) / ($srcmax-$srcmin)) 

     //figure out where that puts us in the destination range
     $rescaled = ($pos * ($destmax-$destmin)) + $destmin;
}

您想知道每个数字在源范围内有多远,这就是 $pos 值为您提供的信息。鉴于此,您可以将其转化为您在目的地范围内的距离。

关于php - 在 PHP 中缩放值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3136770/

相关文章:

php - json_encode 与 mysql 内容和 utf-8 中的变音符号

php - 在 bluehost 上为 laravel 应用程序设置服务器并遇到 php -v 问题

php - Google Analytics,显示超过 1 个查询

Javascript将小数幂转换为常规小数

javascript - d3js - 创建自定义比例 - 正对数和负对数

ffmpeg - 使用 ffmpeg 在流上自动显示

javascript - 使用服务器端处理从 DataTables 导出全部?

php - 这个 PHP 广告 yield 分享逻辑有效吗?

从二次方程中提取系数的Java程序

actionscript-3 - as3 获取已调整大小的父级 MovieClip 中子级的宽度/高度