回答編集履歴

2

微調整

2018/04/23 10:14

投稿

yambejp
yambejp

スコア114843

test CHANGED
@@ -20,19 +20,19 @@
20
20
 
21
21
  switch($x){
22
22
 
23
- case 3:
23
+ case 4:
24
24
 
25
25
  $r=9500;
26
26
 
27
27
  break;
28
28
 
29
- case 19:
29
+ case 20:
30
30
 
31
31
  $r=9980;
32
32
 
33
33
  break;
34
34
 
35
- case 9:
35
+ case 10:
36
36
 
37
37
  $r=mt_rand(9000,10000);
38
38
 
@@ -56,8 +56,10 @@
56
56
 
57
57
  return "UR";
58
58
 
59
- },range(0,19));
59
+ },range(1,20));
60
60
 
61
61
  print_r($data);
62
62
 
63
63
  ```
64
+
65
+ ※微調整しました

1

sample

2018/04/23 10:14

投稿

yambejp
yambejp

スコア114843

test CHANGED
@@ -3,3 +3,61 @@
3
3
  簡単な処理は全部を一覧にした配列をつくりランダムにソートしておいて、
4
4
 
5
5
  先頭から20個とりだすとよいような気がします
6
+
7
+
8
+
9
+ # sample
10
+
11
+ 確率が適当でいいなら、毎回ランダムでデータをとって
12
+
13
+ こんな感じでいけますね
14
+
15
+
16
+
17
+ ```PHP
18
+
19
+ $data=array_map(function($x){
20
+
21
+ switch($x){
22
+
23
+ case 3:
24
+
25
+ $r=9500;
26
+
27
+ break;
28
+
29
+ case 19:
30
+
31
+ $r=9980;
32
+
33
+ break;
34
+
35
+ case 9:
36
+
37
+ $r=mt_rand(9000,10000);
38
+
39
+ break;
40
+
41
+ default:
42
+
43
+ $r=mt_rand(1,10000);
44
+
45
+ break;
46
+
47
+ }
48
+
49
+ if($r<7000) return "C";
50
+
51
+ if($r<9000) return "UC";
52
+
53
+ if($r<9500) return "R";
54
+
55
+ if($r<9980) return "SR";
56
+
57
+ return "UR";
58
+
59
+ },range(0,19));
60
+
61
+ print_r($data);
62
+
63
+ ```