私はデータセットを持っていると言えば、各要素には関連する「スコア」があります。PHP数字のスケールを逆にする方法
例:
バナナ - 5
アップル - 3
梨 - 2
私はなるようにスケールを反転したい:すべての4の2の
すべての3者になる
すべての5の1のになる
3になる
2が4になります
すべて1が5になります
だから私は
バナナで終わるだろう - 1
アップル - 3
梨 - 4
私はマップを作成含まない優雅な解決策を見つけるのに苦労しています。
私はデータセットを持っていると言えば、各要素には関連する「スコア」があります。PHP数字のスケールを逆にする方法
例:
バナナ - 5
アップル - 3
梨 - 2
私はなるようにスケールを反転したい:すべての4の2の
すべての3者になる
すべての5の1のになる
3になる
2が4になります
すべて1が5になります
だから私は
バナナで終わるだろう - 1
アップル - 3
梨 - 4
私はマップを作成含まない優雅な解決策を見つけるのに苦労しています。
式が$new = -$old + 6
です。ただ、array_map
だけのすべての要素をループし、計算し、このような新しい「スコア」:
$score_new = ($score_old - 6) * (-1);
てみて、それを使用します。
$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
を ''エコー(6- $ I)の何が悪いのでしょうか? :) – Vyktor