質問編集履歴
6
現在の問題点について
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
3
|
PHPで$a(8桁から19桁の数字)と$b(2桁以下の数字)のパラメーターを使用して、~~7桁の英数字のランダムな文字列を生成したいです。~~
|
4
|
-
元々$aの値が最大9桁の数字で、以下のプログラムでできていたのですが、最大19桁に増えてしまったため、同じ文字列が生成されるようになってしまいました。
|
4
|
+
~~元々$aの値が最大9桁の数字で、以下のプログラムでできていたのですが、最大19桁に増えてしまったため、同じ文字列が生成されるようになってしまいました。~~
|
5
5
|
|
6
|
-
|
6
|
+
みなさまのご回答から7桁では無理だということが分かったので12桁に増やすことを検討中です。
|
7
|
-
その場合のシードの設定方法で良い案があればご教授ねがいます。
|
7
|
+
**その場合のシードの設定方法で良い案**があればご教授ねがいます。
|
8
8
|
|
9
9
|
追記
|
10
10
|
$a apiから取得しているユーザーごとに違う数値
|
@@ -16,10 +16,11 @@
|
|
16
16
|
srand((float)$a* 10000 + $b);
|
17
17
|
```
|
18
18
|
|
19
|
-
桁数が大きくなってしまった時、↑の部分により種が同じになってしまっているのが問題なのは分かるのですが、いい解決方法が思い浮かびません…
|
19
|
+
~~桁数が大きくなってしまった時、↑の部分により種が同じになってしまっているのが問題なのは分かるのですが、いい解決方法が思い浮かびません…
|
20
|
-
何か良い方法があればご教授願います。
|
20
|
+
何か良い方法があればご教授願います。~~
|
21
21
|
|
22
|
+
|
22
|
-
###
|
23
|
+
### 修正したソースコード
|
23
24
|
```
|
24
25
|
//$aは8桁から19桁の数字。
|
25
26
|
//$bは2桁以下の数字。
|
@@ -34,7 +35,7 @@
|
|
34
35
|
srand((float)$a* 10000 + $b);
|
35
36
|
|
36
37
|
$val = '';
|
37
|
-
for ($i = 0; $i <=
|
38
|
+
for ($i = 0; $i <= 11; $i++) {
|
38
39
|
|
39
40
|
$rnd = rand(0, 61);
|
40
41
|
|
@@ -55,8 +56,6 @@
|
|
55
56
|
|
56
57
|
### 追記
|
57
58
|
ご回答ありがとうございます。
|
58
|
-
今のままでは難しいことが分かりました
|
59
|
+
今のままでは難しいことが分かり英数字を7桁から12桁に増やすことにしました。
|
59
|
-
|
60
|
-
ちなみに最終的に生成される英数字の桁数を7桁から増やすとしたら何桁ぐらいがちょうどいいでしょうか?
|
61
60
|
それからその場合シードをどう設定したら良いと思いますか。
|
62
61
|
本当に初心者で全然分かっておらずすみません。
|
5
7桁を12桁に増やす方向中です。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,8 +1,11 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
|
-
PHPで$a(8桁から19桁の数字)と$b(2桁以下の数字)のパラメーターを使用して、7桁の英数字のランダムな文字列を生成したいです。
|
3
|
+
PHPで$a(8桁から19桁の数字)と$b(2桁以下の数字)のパラメーターを使用して、~~7桁の英数字のランダムな文字列を生成したいです。~~
|
4
4
|
元々$aの値が最大9桁の数字で、以下のプログラムでできていたのですが、最大19桁に増えてしまったため、同じ文字列が生成されるようになってしまいました。
|
5
5
|
|
6
|
+
**みなさまのご回答から7桁では無理だということが分かったので12桁に増やすことを検討中です。
|
7
|
+
その場合のシードの設定方法で良い案があればご教授ねがいます。**
|
8
|
+
|
6
9
|
追記
|
7
10
|
$a apiから取得しているユーザーごとに違う数値
|
8
11
|
$b 使った日数
|
4
$a,$bについて追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,6 +3,11 @@
|
|
3
3
|
PHPで$a(8桁から19桁の数字)と$b(2桁以下の数字)のパラメーターを使用して、7桁の英数字のランダムな文字列を生成したいです。
|
4
4
|
元々$aの値が最大9桁の数字で、以下のプログラムでできていたのですが、最大19桁に増えてしまったため、同じ文字列が生成されるようになってしまいました。
|
5
5
|
|
6
|
+
追記
|
7
|
+
$a apiから取得しているユーザーごとに違う数値
|
8
|
+
$b 使った日数
|
9
|
+
になります。
|
10
|
+
|
6
11
|
### 発生している問題
|
7
12
|
```
|
8
13
|
srand((float)$a* 10000 + $b);
|
3
追記追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -43,4 +43,12 @@
|
|
43
43
|
return $val;
|
44
44
|
|
45
45
|
var_dump($val);
|
46
|
-
```
|
46
|
+
```
|
47
|
+
|
48
|
+
### 追記
|
49
|
+
ご回答ありがとうございます。
|
50
|
+
今のままでは難しいことが分かりました…。
|
51
|
+
|
52
|
+
ちなみに最終的に生成される英数字の桁数を7桁から増やすとしたら何桁ぐらいがちょうどいいでしょうか?
|
53
|
+
それからその場合シードをどう設定したら良いと思いますか。
|
54
|
+
本当に初心者で全然分かっておらずすみません。
|
2
$bは2桁以下の数字です。1桁の場合もあります。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
|
-
PHPで$a(8桁から19桁の数字)と$b(2桁の数字)のパラメーターを使用して、7桁の英数字のランダムな文字列を生成したいです。
|
3
|
+
PHPで$a(8桁から19桁の数字)と$b(2桁以下の数字)のパラメーターを使用して、7桁の英数字のランダムな文字列を生成したいです。
|
4
4
|
元々$aの値が最大9桁の数字で、以下のプログラムでできていたのですが、最大19桁に増えてしまったため、同じ文字列が生成されるようになってしまいました。
|
5
5
|
|
6
6
|
### 発生している問題
|
@@ -14,13 +14,13 @@
|
|
14
14
|
### 元々のソースコード
|
15
15
|
```
|
16
16
|
//$aは8桁から19桁の数字。
|
17
|
-
//$bは2桁の数字。
|
17
|
+
//$bは2桁以下の数字。
|
18
18
|
|
19
19
|
|
20
20
|
//数値のexample
|
21
21
|
$a =99999999; //うまくいっていた
|
22
22
|
$a =9999999999999999999; //桁数が増えたことによりうまくいかない
|
23
|
-
$b =23; //2桁の数字
|
23
|
+
$b =23; //2桁以下の数字
|
24
24
|
|
25
25
|
|
26
26
|
srand((float)$a* 10000 + $b);
|
1
初心者マークをつけました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
|
-
PHPで$a(8桁から19桁の数字)と$b(2桁の数字)のパラメーターを使用して7桁の英数字のランダムな文字列を生成したいです。
|
3
|
+
PHPで$a(8桁から19桁の数字)と$b(2桁の数字)のパラメーターを使用して、7桁の英数字のランダムな文字列を生成したいです。
|
4
4
|
元々$aの値が最大9桁の数字で、以下のプログラムでできていたのですが、最大19桁に増えてしまったため、同じ文字列が生成されるようになってしまいました。
|
5
5
|
|
6
6
|
### 発生している問題
|