Php 什么时候我应该将一个数组拆分为两个或多个几乎相等和的数组? 如果订单中所有项目的成本超过250美元,请将这些项目拆分为多个项目 包,否则一个包就足够了 如果同一顺序中的物品被分成多个包裹,那么包裹的重量 应在包裹上均匀分布,以节省快递费用
拆分时,任何包的总价都不能等于或高于250美元 名称价格(美元)重量(克) 我在遵循逻辑方面做了很多工作,但没有实现。请帮我提前解决这个问题谢谢 我已经尝试了下面的代码,能够根据重量来决定代码,但是当涉及到价格逻辑时,它失败了Php 什么时候我应该将一个数组拆分为两个或多个几乎相等和的数组? 如果订单中所有项目的成本超过250美元,请将这些项目拆分为多个项目 包,否则一个包就足够了 如果同一顺序中的物品被分成多个包裹,那么包裹的重量 应在包裹上均匀分布,以节省快递费用,php,mysql,laravel,Php,Mysql,Laravel,拆分时,任何包的总价都不能等于或高于250美元 名称价格(美元)重量(克) 我在遵循逻辑方面做了很多工作,但没有实现。请帮我提前解决这个问题谢谢 我已经尝试了下面的代码,能够根据重量来决定代码,但是当涉及到价格逻辑时,它失败了 $in = array(10=>200, 30=>300, 200=>10, 20=>500, 40=>10, 100=>20); function devideArray($in){ // Sort array decreasi
$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>";
$in=array(10=>200,30=>300200=>10,20=>500,40=>10100=>20);
函数devidearay($in){
//排序数组递减
arsort($in,排序\数字);
//从两个空数组开始
$arr1=$arr2=array();
//将数组中的下一个值放入和最小的数组中
foreach($k=>$value){
//echo$k.“==”$value;echo“
”;
如果(array_sum($arr2)>array_sum($arr1))$arr1[$k]=$value;否则$arr2[$k]=$value;
}
//在数组中换行(如所述)
$out=array($arr1,$arr2);
退回$out;
}
$array=devideArray($in);
回声“;打印(数组);回声“;
包1
项目-项目1、项目3、项目7
总重量-510g
总价-$240
方案2
项目-项目4、项目6、项目2
总重量-530g
总价-$160
快递价格-$15请将数据作为文本添加到问题中,最好作为对象数组。顺便说一句,为什么使用javascript?可能的重复请将数据作为文本添加到问题中,最好作为对象数组。顺便说一句,为什么是javascript?可能是