PHP如何反转数字的刻度

PHP如何反转数字的刻度,php,Php,假设我有一个数据集,每个元素都有一个关联的分数 例如: 香蕉-5 苹果-3 梨-2 我想反转比例,以便: 所有5个变为1个 4个都变成了2个 所有的3都变成了3 2都变成了4 所有的1变成了5 所以我会以 香蕉-1 苹果-3 梨-4 我正在努力寻找一个不需要创建地图的优雅解决方案。只需遍历所有元素,并按如下方式计算新分数: $score_new = ($score_old - 6) * (-1); 只需循环遍历所有元素,并按如下方式计算新分数: $score_new = ($score_old

假设我有一个数据集,每个元素都有一个关联的分数

例如: 香蕉-5 苹果-3 梨-2

我想反转比例,以便: 所有5个变为1个 4个都变成了2个 所有的3都变成了3 2都变成了4 所有的1变成了5

所以我会以 香蕉-1 苹果-3 梨-4


我正在努力寻找一个不需要创建地图的优雅解决方案。

只需遍历所有元素,并按如下方式计算新分数:

$score_new = ($score_old - 6) * (-1);

只需循环遍历所有元素,并按如下方式计算新分数:

$score_new = ($score_old - 6) * (-1);
公式为$new=-$old+6。只需将其与

一起使用,公式为$new=-$old+6。只需将其与

一起使用即可尝试:

$initial = array(
  'Banana' => 5,
  'Apple' => 3,
  'Pear' => 2,
);

$max = max($initial);
foreach ($initial as &$val) {
  $val = $max + 1 - $val;
}

print_r($initial);
尝试:


其他刻度范围的公式:

$new = $rangeMax + $rangeMin - $old

其他刻度范围的公式:

$new = $rangeMax + $rangeMin - $old
echo 6-$i有什么问题吗echo 6-$i有什么问题吗