在拆分时,没有包装的总价等于或高于$ 250
名称价格($)重量(g)
我在遵循逻辑方面做了很多工作,但是没有实现。请帮助我提前解决此问题
我尝试使用以下代码,能够根据重量确定代码,但涉及价格逻辑时会失败。
$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 "</pre>";
项目-项目1,项目3,项目7 总重量-510克 总价-$ 240
项目-项目4,项目6,项目2 总重量-530克 总价-$ 160 快递价格-$ 15