1

我正在寻找一种解决方案来计算包装购物车产品所需的盒子数量。每个产品都有它的高度、宽度、长度。大盒子尺寸固定

//big box size
$max_height = 20;
$max_width = 30;
$max_length = 40;

foreach ($products as $product) {
    $height = $product->height;
    $width = $product->width;
    $length = $product->length;
}

我知道这是一个3d装箱问题,但有没有其他更简单的方法可以大致计算箱子的数量?

4

1 回答 1

0

Ingo 在原始问题的评论中的解决方案是一个很好的解决方案,这是它的一个实现。

//big box size
$max_height = 20;
$max_width = 30;
$max_length = 40;
$max_volume = $max_height * $max_width * $max_length;

$tot_height = 0;
$tot_width = 0;
$tot_length = 0;

foreach ($products as $product) {
    $tot_height += $product->height;
    $tot_width += $product->width;
    $tot_length += $product->length;
}

$tot_volume = $tot_height * $tot_width * $tot_length;

$boxes_needed = ceil($tot_volume / $max_volume);

如果您实际上要在现实世界中使用它,那么可能会添加一个额外的盒子,因为除非您是俄罗斯方块的大师,否则所有东西都不太可能完美地组合在一起以填充盒子的体积:)

于 2013-03-02T17:58:04.703 回答