@zeni1agent

Как мне пересчитать массив?

Вопрос довольно странный но все же

У меня есть вот такой массив
$sum = 100;
$array = array (
'user_1'   => $sum, 
'user_2'   => $sum, 
'user_3'   => $sum, 
'user_4'   => $sum, 
'user_5'   => $sum,
'user_6'   => $sum,
'user_7'   => $sum,
'user_8'   => $sum,
'user_9'   => $sum,
'user_10'   => $sum,
'user_11'   => $sum,
'user_12'   => $sum,
'user_13'   => $sum,
);

И мне необходимо пересчитать его вот таким образом
$array = array (
'user_1'   => 198,4375, 
'user_2'   => 196,875, 
'user_3'   => 193,75, 
'user_4'   => 187,5 , 
'user_5'   => 175, 
'user_6'   => 150, 
'user_7'   => 100, 
'user_8'   => 50,
'user_9'   => 25,
'user_10'   => 12,5,
'user_11'   => 6,25,
'user_12'   => 3,125,
'user_13'   => 1,5625,
);

Кто знает как это можно сделать?
  • Вопрос задан
  • 245 просмотров
Решения вопроса 1
0xD34F
@0xD34F
$pow = ceil(count($array) / 2);
$arr = array_map(function($n) use($sum, &$pow) {
  $pow -= 1;
  return $sum * (1 + (1 - (2 ** -abs($pow))) * ($pow < 0 ? -1 : 1));
}, $array);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 10:01
500 руб./за проект
26 апр. 2024, в 09:18
500 руб./в час
26 апр. 2024, в 06:46
1500 руб./в час