PHP で乱数と文字を取得するメソッドの完全なリスト

WBOY
リリース: 2016-06-23 13:34:59
オリジナル
1309 人が閲覧しました

最初のメソッド

$FileID=date("Ymd-His") '-' rand(100,999); 20100903 - 132121-908 こんな乱数

?>

2番目の方法

function randomkeys($length) {

$returnStr='';

$pattern = '1234567890abcdefgh ijklmnopqrstuvwxy zABCDEFGHIJKLOMNOPQRSTUVWXYZ' ;
for($ i = 0; $ i< $ length; $ i ++){
$ returnstr。= $ pattern {mt_rand(0、61)}; 4);
?>


3 番目のメソッド


//seed ユーザー定義関数はシードとしてマイクロ秒を使用します

function seed()

{

list($msec, $sec) =explode(' ', microtime());

return (float) $sec

}

//乱数生成器のシードを播種し、srand 関数で呼び出します。シード関数の戻り値

srand(seed());

// 生成された乱数を出力します。乱数の範囲は 10 ~ 100 です。

?>次のものは異なりますか? 初心者にとっては、質問は単純すぎるかもしれません。 );

srand はシードです。設定されていない場合、デフォルトは 1 です

rand は通常、シードをパラメータとして使用する固定演算です

試してみるとわかりますが、シードを設定したり、固定シードを設定したりしないでください、 rand を実行します

その後、ブラウザを閉じて再度開き、再度 rand を実行します

結果は常に同じであることがわかります

まず rand() 関数について話しましょう、 rand([int min], [int max] ] ) この関数は、最小値と最大値の間の乱数を受け取ります。乱数の最大値と最小値の範囲が指定されていない場合、この関数は 0 から RAND_MAX までの乱数を自動的に選択します。

しかし、rand() 関数のみを使用する場合、乱数は非常に混沌としたものになります。乱数を取得して新しい乱数シードを構成する前に、毎回 srand() 関数を使用するのが最善です。

次の使用法を説明します (これら 2 つの関数の一般的な使用方法):

srand((double)microtime()*1000000);


microtime() は 2 つの値を返します。現在のミリ秒とタイムスタンプ。乱数を抽出したい場合は、ミリ秒から乱数を取得することしかできません。(double)microtime() は現在のミリ秒の値のみを返します。

microtime() は秒単位のミリ秒数なので、値はすべて 1000000 を掛けて整数に変換します

ワークフローは次のとおりです:

(1): まず、 give srand() unsigned_int 型の値である「シード」を提供します。

(2):_次に、rand() を呼び出します。これは、srand() に提供された値に基づいて乱数 (_0~32767 の範囲) を返します

(3): 必要なだけ rand を呼び出します () 、常に新しい乱数を取得します。

(4): srand() に新しい「シード」を提供できるときはいつでも、それによって rand() の「ランダム化」をさらに進めることができます。

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