ホームページ >バックエンド開発 >PHPチュートリアル >重複を最小限に抑えてランダムな 5 文字の文字列を生成するにはどうすればよいですか?
重複を最小限に抑えたランダムな 5 文字の文字列の生成
質問: 正確な文字列を効率的に生成するにはどうすればよいですか?重複する可能性が最も低い 5 つのランダムな文字?
答え:
方法 1:
<code class="php">$rand = substr(md5(microtime()), rand(0, 26), 5);</code>
メソッド 2:
<code class="php">$seed = str_split('abcdefghijklmnopqrstuvwxyz' . 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' . '0123456789!@#$%^&*()'); shuffle($seed); $rand = ''; foreach (array_rand($seed, 5) as $k) $rand .= $seed[$k];</code>
メソッド 3:
<code class="php">function incrementalHash($len = 5) { $charset = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; $base = strlen($charset); $result = ''; $now = explode(' ', microtime())[1]; while ($now >= $base) { $i = (int)$now % $base; $result = $charset[$i] . $result; $now /= $base; } return substr(str_repeat($charset[0], $len) . $result, -$len); }</code>
注: 高セキュリティ アプリケーションの場合は、より堅牢なアプリケーションを使用することをお勧めします。乱数生成器。
以上が重複を最小限に抑えてランダムな 5 文字の文字列を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。