Php 什么时候我应该将一个数组拆分为两个或多个几乎相等和的数组? 如果订单中所有项目的成本超过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

拆分时,任何包的总价都不能等于或高于250美元

名称价格(美元)重量(克)

  • 我在遵循逻辑方面做了很多工作,但没有实现。请帮我提前解决这个问题谢谢

    我已经尝试了下面的代码,能够根据重量来决定代码,但是当涉及到价格逻辑时,它失败了

    $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?可能是