有如下2個(gè)數(shù)組:p代表人,b代表包裹
$arr1 = [p1, p2, p3, p4, p5, p6, p7];
$arr2 = [b1, b2, b3, b4, b5, b6 ,b7 ,b8, b9 ,b10];
將10個(gè)包裹一次分配給7個(gè)人,第一次分配將7個(gè)包裹分給了前7個(gè)人,剩下的3個(gè)再依次分給前3個(gè)人;如何實(shí)現(xiàn)?
<?php
/**
* 分配函數(shù)
*
* @author Flc <2017-12-07 22:14:12>
* @link http://flc.ren
* @param array $couriers 快遞員
* @param array $packages 包裹
* @return array key為快遞員;值為包裹
*/
function dist($couriers = [], $packages = [])
{
$couriers = array_values($couriers);
$packages = array_values($packages);
$courier_count = count($couriers);
$result = [];
foreach ($packages as $key => $package) {
$remainder = ($key + 1) % $courier_count;
$sub = ($remainder ?: $courier_count) - 1;
$result[$couriers[$sub]][] = $package;
}
return $result;
}
$arr1 = ['p1', 'p2', 'p3', 'p4', 'p5', 'p6', 'p7'];
$arr2 = ['b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7', 'b8', 'b9', 'b10'];
print_r(dist($arr1, $arr2));
結(jié)果如下:
Array
(
[p1] => Array
(
[0] => b1
[1] => b8
)
[p2] => Array
(
[0] => b2
[1] => b9
)
[p3] => Array
(
[0] => b3
[1] => b10
)
[p4] => Array
(
[0] => b4
)
[p5] => Array
(
[0] => b5
)
[p6] => Array
(
[0] => b6
)
[p7] => Array
(
[0] => b7
)
)
$arr1 = ['p1', 'p2','p3','p4','p5','p6','p7'];
$arr2 = ['b1', 'b2','b3','b4','b5','b6','b7','b8','b9','b10','b11', 'b12','b13','b14','b15','b16','b17','b18','b19','b20'];
$num = floor(count($arr2) / count($arr1));
$arr3 = [];
foreach ($arr1 as $key => $value) {
for($i = 0;$i < $num;$i++){
$ind = $key + $i * count($arr1);
$arr3[$key][] = $arr2[$ind];
}
}
$yushu = count($arr2) % count($arr1);
for($n = 0;$n < $yushu;$n ++){
$nu = $n + $num * count($arr1);
$arr3[$n][] = $arr2[$nu];
}
var_dump($arr3);
/*array(7) {
[0] => array(3) {
[0] => string(2) "b1"
[1] => string(2) "b8"
[2] => string(3) "b15"
}
[1] => array(3) {
[0] => string(2) "b2"
[1] => string(2) "b9"
[2] => string(3) "b16"
}
[2] => array(3) {
[0] => string(2) "b3"
[1] => string(3) "b10"
[2] => string(3) "b17"
}
[3] => array(3) {
[0] => string(2) "b4"
[1] => string(3) "b11"
[2] => string(3) "b18"
}
[4] => array(3) {
[0] => string(2) "b5"
[1] => string(3) "b12"
[2] => string(3) "b19"
}
[5] => array(3) {
[0] => string(2) "b6"
[1] => string(3) "b13"
[2] => string(3) "b20"
}
[6] => array(2) {
[0] => string(2) "b7"
[1] => string(3) "b14"
}
}*/
<?php
$arr1 = ['p1', 'p2','p3','p4','p5','p6','p7'];
$arr2 = ['b1', 'b2','b3','b4','b5','b6','b7','b8','b9','b10','b11', 'b12','b13','b14','b15','b16','b17','b18','b19','b20'];
if(count($arr1) >= count($arr2)){ //若快遞員人數(shù)比包裹多,直接循環(huán)分配
foreach ($arr2 as $key => $value) {
$arr3[$key][] = $value;
}
}else{ //包裹比快遞員人數(shù)多
$num1 = floor(count($arr2)/count($arr1)); //取整
$num2 = count($arr2)%count($arr1); //得到剩余的包裹數(shù)量(求余數(shù))
for($i=1;$i<=$num1;$i++){
$s_num = count($arr1)*($i-1); //切割起始位置
$arr3[] = array_slice($arr2,$s_num,count($arr1)); //切割
}
$arr3[$num1][] = array_slice($arr2,$s_num+count($arr1),$num2); //剩余包裹分發(fā)
}
var_dump($arr3);
?>
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
北大青鳥(niǎo)中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過(guò)二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。