У меня есть два массива, массив 1 – массив доноров, который имеет ряд значений (не обязательно равные значения, как в моем примере). Массив 2 является желаемым результатом и сохранит серию вспомогательных массивов со значениями из массива 1, где суммарная сумма каждого дополнительного массива не будет превышать 25. Если это произойдет, избыток будет перенесен на следующий индекс в массиве 2, где правила будут также применяются.
Массив доноров (массив 1):
$a1=array(10,10,10,10,10,10,10,10,10,10);
Желаемый вывод (массив 2):
Array ( [0] => 10,10,5 [1] => 5,10,10 [2] => 10,10,5 [3] => 5,10,10 )
Здесь код, который я пробовал, но он получает ошибку:
Примечание: Неопределенное смещение: 10 … и т. Д.
$a1=array(10,10,10,10,10,10,10,10,10,10); $a2=array(); $count=count($a1); for($i=0;$i<$count;$i++){ $a2count=array_sum($a2); if($a2count>25){ $i=$i+1; $a2[$i]=$a1[$i]; } else{ $a2[$i]=$a1[$i]; } } print_r($a2);
Я не знаю, какую логику реализовать и получить результат, который я ищу.