【完善思路:在给朋友看了结果之后,朋友说有几点需要注意,东道主一定在A组,还有为了体现东道主的的优势,其同组对手都要相对较弱;另外,欧洲区国家外同组回避,欧洲区最多两支同组的回避规则。所以结合一下需求,需要重新完善下程序哦,还是略复杂的是吗?哪位来试试。。。】
* 欧洲区-1 俄罗斯、比利时、法国、葡萄牙、德国、塞尔维亚、波兰、英格兰、西班牙、冰岛、瑞士、克罗地亚、瑞典和丹麦(14支)* 亚洲区-2 日本、沙特、伊朗、韩国和澳大利亚(5支)* 北美区-3 墨西哥、哥斯达黎加和巴拿马(3支)* 非洲区-4 突尼斯、尼日利亚、摩洛哥、塞内加尔和埃及(5支)* 南美区-5 巴西、乌拉圭、阿根廷、哥伦比亚和秘鲁(5支)
话不多说,先看结果,取了三次的。足球狗有什么想说的,有死亡之组吗?哈哈 O-O
贴上程序(一个 php的array_rand()函数+循环搞定):
1 $firstClass = ['俄罗斯','德国','巴西','葡萄牙','阿根廷','比利时','波兰','法国'];
2 $secondClass = ['西班牙','秘鲁','瑞士','英格兰','哥伦比亚','墨西哥','乌拉圭','克罗地亚'];
3 $thirdClass = ['丹麦','冰岛','哥斯达黎加','瑞典','突尼斯','埃及','塞内加尔','伊朗'];
4 $forthClass = ['塞尔维亚','尼日利亚','澳大利亚','日本','摩洛哥','巴拿马','韩国','沙特阿拉伯'];
5 for($i=0;$i<8;$i++) {
6 switch ($i) {
7 case 0 : $idx='A';
8 break;
9 case 1 : $idx='B';
10 break;
11 case 2 : $idx='C';
12 break;
13 case 3 : $idx='D';
14 break;
15 case 4 : $idx='E';
16 break;
17 case 5 : $idx='F';
18 break;
19 case 6 : $idx='G';
20 break;
21 case 7 : $idx='H';
22 break;
23 default:
24 echo "你走!";return false;
25 }
26 $k = array_rand($firstClass,1);
27 $group[$idx][] = $firstClass[$k];
28 unset($firstClass[$k]);
29
30 $k = array_rand($secondClass,1);
31 $group[$idx][] = $secondClass[$k];
32 unset($secondClass[$k]);
33
34 $k = array_rand($thirdClass,1);
35 $group[$idx][] = $thirdClass[$k];
36 unset($thirdClass[$k]);
37
38 $k = array_rand($forthClass,1);
39 $group[$idx][] = $forthClass[$k];
40 unset($forthClass[$k]);
41
42 }
43 echo json_encode($group);die;
哈哈,是不是很简单。如果你有什么好的生成方式可以留言交流哦!也欢迎吐槽,哈哈。。。