を持つグループへの配列:スプリット私はこのような小数点以下の値を持つ配列を持っている分値と最小要素
私は最小の合計値を持つ最小5つの要素のグループにこの配列を分割することができますどのように$a = array(1.66, 28.13, 3.37, 2, 12, 88.90, 6.88, 0.57, 1.50);
50と言うことができます!
私はこの機能を使用していますが、私がしようとしていることはかなり解決していません。
function split_into_groups($input_array) {
$limit = 50;
rsort($input_array);
$b = array(array());
$index = 0;
foreach($input_array as $i){
if($i + array_sum($b[$index]) > $limit){
$b[++$index] = array();
}
$b[$index][] = $i;
}
return $b;
}
出力:
array(4) {
[0]=>
array(0) {
}
[1]=>
array(1) {
[0]=>
float(88.9)
}
[2]=>
array(3) {
[0]=>
float(28.13)
[1]=>
int(12)
[2]=>
float(6.88)
}
[3]=>
array(5) {
[0]=>
float(3.37)
[1]=>
int(2)
[2]=>
float(1.66)
[3]=>
float(1.5)
[4]=>
float(0.57)
}
}
あなたが試したことと、どこにいらっしゃったのかを教えてください。 –
ループスルー、選択した和にヒットしたとき合計の合計を保持する50 –
サンプル出力してください。 –