ホームページ > バックエンド開発 > PHPチュートリアル > 100 万個の小文字の英語数値混合文字列を生成します。重複がないことは何桁まで保証できますか?

100 万個の小文字の英語数値混合文字列を生成します。重複がないことは何桁まで保証できますか?

WBOY
リリース: 2016-06-23 13:57:41
オリジナル
1346 人が閲覧しました

1,000,000 個の英語の数字が混在する文字列を生成します。最大の重複を避けるためには何桁書く必要がありますか? 教えてください


ディスカッションへの返信 (解決策)

数字 10 個、大文字 26 個、小文字 26 個, の合計 62 の状態を 62 進数とみなすことができます

pow(62, 4) = 14776336
つまり、連続インクリメントの場合、14776336 以降に重複が発生します
ニーズを十分に満たしています

あ、気付かなかった 小文字しか使えない

それは

pow(36, 4) = 1679616
まだ十分です

ああ、小文字しか使えないことに気づきませんでした

それは

pow (36, 4) = 1679616
まだ満足です

このように書けば9桁のランダムな100万の文字列を生成するのは問題ないはずです

うわー

この100万の文字列を何度か生成したいのですが、この種のロジックでは重複が生成されます

理解できません、

/*     * 随机字符串   */   function random_str($length)   {  		$arr = array_merge(range('a', 'z'),range(0, 9));		$str = '';		$arr_len = count($arr);		for ($i = 0; $i < $length; $i++)		{			$rand = mt_rand(0, $arr_len-1);			$str.=$arr[$rand];		}		    return $str;   } 
ログイン後にコピー
が 100 万を生成することを確認する必要があります。一度に、重複はありません

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート