2018俄罗斯世界杯 模拟抽签结果 (PHP版)

【完善思路:在给朋友看了结果之后,朋友说有几点需要注意,东道主一定在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;

哈哈,是不是很简单。如果你有什么好的生成方式可以留言交流哦!也欢迎吐槽,哈哈。。。

原文地址:https://www.cnblogs.com/wxgthinking/p/7920194.html