/**
* 分单算法
* @param $size
* @param $order_money
* @return array
*/
static function splitting_order($order_money, $size = 500)
{
if (0 != $order_money % $size) return array($order_money);
// 拆分基数
$base_money = (500 < $order_money)
? array(500, 1000, 2000, 3000, 300, 100, 100)
: array(100, 100, 300, 500);
do {
foreach ($base_money as $base) {
$order_money -= $base;
if ($order_money >= 0) {
$split_order_money[] = $base;
} else {
$order_money += $base;
}
}
} while (0 < $order_money);
return $split_order_money;
}