level 1
已知一个方法传递进入2个参数,参数1为一个整数,参数2为数组。数组格式为
$a = array(
1 => array(
'time' => 60,
'army' => 0,
),
2 => array(
'time' => 70,
'army' => 0,
),
3 => array(
'time' => 113,
'army' => 0,
),
);
然后根据数组中的time键值把参数1分配给army字段,规则为time越大army越小。哪位大佬懂得这个方法要怎么写
2023年08月21日 09点08分
1
level 9
具体规则没看懂。需要比较每个time来确定它到底是大还是小吗?还是time到army有一个公式性的转换规则?遍历的话可以array_walk
2023年08月21日 21点08分
2
这个time值不固定,然后这个time值越大分到的num数量越少
2023年08月25日 01点08分
level 6
function f1($p1, $p2){
$time_sum = 0;
//计算合计
foreach ($p2 as &$a) $time_sum += $a['time'];
//分配
foreach ($p2 as &$a) $a['army']= $p1 * $a['time'] / $time_sum;
}
2023年08月22日 01点08分
3