我目前正在建设的一个站点使用的货运公司有三种不同的货盘尺寸可供运输:最大250公斤,最大500公斤,最大1000公斤。用于获取总运输尺寸的模块化功能
虽然我已经构建了一个函数来获取总重量所需托盘的配置,但它是一种硬编码,我正在寻找一种更加模块化的方法来处理这个问题,如果我扔另一个托盘重量在以后的日期或为其他项目使用相同的功能。
什么我是这样的:
$sizes = array(
array('desc'=>'large','limit'=>1000),
array('desc'=>'medium','limit'=>500),
array('desc'=>'small','limit'=>250)
);
foreach ($sizes as $k=>$v) {
$pallets[$v['desc']] = 0;
}
echo $total_weight = 2280;
echo "<hr />";
function pallet_size($weight) {
global $sizes, $pallets;
if ($weight > $sizes[1]['limit']) {
$pallets[$sizes[0]['desc']]+=1;
$weight-=$sizes[0]['limit'];
pallet_size($weight);
} elseif ($weight > $sizes[2]['limit']) {
$pallets[$sizes[1]['desc']]+=1;
$weight-=$sizes[1]['limit'];
pallet_size($weight);
} elseif ($weight < $sizes[2]['limit'] && $weight>0) {
$pallets[$sizes[2]['desc']]+=1;
$weight-=$sizes[2]['limit'];
pallet_size($weight);
} elseif ($weight<=0) {
print_r($pallets);
exit();
}
}
pallet_size($total_weight);
也许我只是要对此完全错误的方式?
数据将在一个表中,它不是托盘权重的数组/结果集我担心编辑,它是计算我不想编辑的配置的函数。 – user813720 2012-02-13 10:38:23
检查我上面包含的代码 – denil 2012-02-13 10:51:13