Я много работал над следующей логикой, ноне достиг.Пожалуйста, помогите мне решить эту проблему. Спасибо заранее
Я пробовал использовать следующий код, который может определять код на основе веса, но когда речь идет о ценовой логике, это не получается.
<code>$in = array(10=>200, 30=>300, 200=>10, 20=>500, 40=>10, 100=>20);
function devideArray($in){
// Sort array decreasing
arsort($in, SORT_NUMERIC);
// Start with two empty arrays
$arr1 = $arr2 = array();
// Put the next value in the array in the array with the lowest sum
foreach ($in as $k=>$value){
// echo $k."===".$value; echo "<br>";
if (array_sum($arr2) > array_sum($arr1)) $arr1[$k] = $value; else $arr2[$k] = $value;
}
// Wrap in array (as in question)
$out = array($arr1,$arr2);
return $out;
}
$array = devideArray($in);
echo "<pre>";print_r($array);echo "
";
Упаковка 1
Предметы - Товар 1, Товар 3, Товар 7 Общий вес - 510 г Общая стоимость - 240
Упаковка2
Предметы - Товар 4, Товар 6, Товар 2 Общий вес - 530 г Общая стоимость - 160 долларов США Курьерская цена - 15 долларов США