/** * 随机分配数量,并返回,连接的字符串 * @param $num 分配份数 * @param $total 分配总额 * @return array */ protected function randArray($num, $total) { $array = array(); $array = array_pad($array, $num, 0); for ($i = 0; ; $i++) { for ($j = 0; $j < $num; $j++) { $rand = rand(0, 1); if ((array_sum($array) + $rand) >= $total) { $array[$j] += $total - array_sum($array); return implode(",", $array); } else { $array[$j] += $rand; } } } } /** * 组建24小时任务分配情况 * @param $total * @param $date */ protected function get24hours($total, $date) { //今天22点之前下单,并且要求今天完成 if (date("ymd") == date("ymd", strtotime($date)) && (24 - date('H')) > 2) { $return=$this->randArray(23 - date('H'),$total); return str_repeat("0,",date('H')+1).$return; } return $this->randArray(24,$total); }
0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0