私はこのPHPコードを持っています:
$char = array_merge(range('a', 'z'), range('A', 'Z'), range(0, 9));
$i = 0;
while ($i <= 5) {
$var .= $char[rand(0,68)];
$i++;
}
echo $var;
一見すると、6文字の刺し傷が生成されるはずです(eVx97jのように)。
私はほとんどの場合そうしますが、場合によっては5文字と4文字の文字列をエコーします。
私はそれがこれのためであるとほぼ確信しています:
(問題とは何の関係もありません)
[50]=>
string(1) "Y"
[51]=>
string(1) "Z"
[52]=>
int(0)
[53]=>
int(1)
[54]=>
int(2)
違いを見ます?
私を困惑させるのは、コードが数字を含む文字列を生成することです。
では、バグを見つけることができますか?
これは、PHPでaz + AZ + 0〜9文字を表現する正しい方法ですか?
前もって感謝します!!
必要な説明を求めてください!
ところで:私も試しました:$char = array_merge(range('a', 'z'), range('A', 'Z'), range('0',' 9'));