1. 主に 2 つの関数を使用します:
chr()
mt_rand()
2. 構文形式:
mt_rand()
メルセンヌ ツイスター
アルゴリズムを使用してランダムな整数を返します。
mt_rand(min,max)
オプションのパラメータ min
および max
が指定されていない場合、mt_rand()
0 から RAND_MAX
までの擬似乱数を返します。たとえば、5 から 15 までの範囲の乱数が必要な場合は、mt_rand(5, 15)
を使用します。古い libc
乱数ジェネレーターの多くは、不確実で未知の特性を備えており、非常に遅いです。 PHP の rand()
関数は、デフォルトで libc
乱数ジェネレータを使用します。 mt_rand()
この関数は非公式にそれを置き換えるために使用されます。この関数は、Mersenne Twister
の既知の機能を乱数ジェネレータとして使用し、libc# が提供する
rand() よりも平均して高速に乱数値を生成できます。 ## 4 倍高速になりました。
chr()range
(256) の範囲内の整数 (つまり、0 ~ 255) をパラメータとして使用し、対応する文字を返します。
chr(i)戻り値は、現在の整数に対応する
ASCII 文字です。
3. 上記 2 つの関数を使用してランダムな文字列を生成します
<?php function getString($length = 4) { //从ASCII码中获取 $captcha = ''; //随机取:大写、小写、数字 for($i = 0;$i < $length; $i++){ //随机确定是字母还是数字 switch(mt_rand(1,3)){ case 1: //数字:49-57分别代表1-9 $captcha .= chr(mt_rand(49,57)); break; case 2: //小写字母:a-z $captcha .= chr(mt_rand(65,90)); break; case 3: //大写字母:A-Z $captcha .= chr(mt_rand(97,122)); break; } } //返回 return $captcha; } echo getString(5); ?>推奨事項:
以上がPHPでランダムな文字列を生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。