最初の方法
コードをコピーします コードは次のとおりです:
$FileID=date("Ymd-His") '-' rand(100,999);
// $ FILEID は 20100903-132121-908? & Gt;
2 番目のメソッド
コードは次のとおりです: & lt;? 機能ランダムキー ($ length ) { $returnStr=''; $pattern = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLOMNOPQRSTUVWXYZ';
for($i = 0; $i < $length; $i ++) {
$returnStr .= $pattern { mt_rand (0, 61 )}; //php 乱数を生成します
}
return $returnStr;
}
echo randomkeys(4);
?>
3 番目のメソッド
コードは次のとおりです:
//seed ユーザー定義関数はシードとしてマイクロ秒を使用しますfunction seed(){list($msec, $sec) =explode(' ', microtime ());
return ( float) $sec;
}
//乱数生成器のシードを播種し、srand 関数を使用してシード関数の戻り結果を呼び出します
srand(seed());
//生成された乱数、乱数の範囲は 10 ~ 100 です
echo rand(10,100);
?>
上のものと下のものはどちらも 10 ~ 100 の間の数値をランダムに出力します。初心者にとっては、質問は簡単すぎるかもしれません笑
コードをコピーします
コードは次のとおりです:
echo rand(10,100);?>mt_rand(10,100);
srand はシードです。設定されていない場合、デフォルトは 1 です
Rand は通常、シードをパラメータとして使用する固定演算です
シードを設定せずに rand
を実行するとわかります。シードしてからブラウザを閉じて再度開き、rand を実行します
結果は常に同じであることがわかります
まず rand() 関数について話しましょう、rand([int min], [int max])
この関数最小値と最大値の間の乱数を受け取ります。乱数の最大値と最小値の範囲が指定されていない場合、この関数は 0 から RAND_MAX までの乱数を自動的に選択します。
しかし、rand() 関数のみを使用する場合、乱数は非常に混沌としたものになります。乱数を取得して新しい乱数シードを構成する前に、毎回 srand() 関数を使用するのが最善です。 次の使用法を説明します (これが、これら 2 つの関数の一般的な使用方法です):
srand((double)microtime()*1000000);
$rand_number= rand();
microtime() 戻り値 2 つの値:現在のミリ秒とタイムスタンプ。乱数を抽出したい場合は、ミリ秒から乱数を取得することしかできません。(double)microtime() は現在のミリ秒の値のみを返します。
microtime() は秒単位のミリ秒なので、値はすべて 1000000 を掛けて整数に変換します
。
ワークフローは次のとおりです:
(1): まず、unsigned_int 型の値である「シード」を srand(); に提供します。 (2): 次に、rand() を呼び出します。これは、srand() に提供された値 (0 から 32767 の範囲) に基づいて乱数を返します。
(3): rand() を必要なだけ繰り返し呼び出します。新しい乱数を取得します。 (4): 新しい「シード」をいつでも srand() に提供でき、それによって rand() の 出力結果をさらに「ランダム化」します。
http://www.bkjia.com/PHPjc/327441.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/327441.html技術記事最初の方法は、次のようにコードをコピーすることです: ?php $FileID=date("Ymd-His") . rand(100,999); 2 番目の方法は 20100903-132121-908 です。コードをコピーする方法...