ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHPチュートリアルで乱数と文字を取得する方法を詳しく説明

PHP_PHPチュートリアルで乱数と文字を取得する方法を詳しく説明

WBOY
WBOYオリジナル
2016-07-21 15:08:35966ブラウズ

最初の方法

コードをコピーします コードは次のとおりです:

$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

tru​​e

http://www.bkjia.com/PHPjc/327441.html技術記事最初の方法は、次のようにコードをコピーすることです: ?php $FileID=date("Ymd-His") . rand(100,999); 2 番目の方法は 20100903-132121-908 です。コードをコピーする方法...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。