for($i = 0; $i
$returnStr .= $pattern {mt_rand (0, 61)} //PHP 乱数を生成します
;
}
$returnStr;を返す
}
エコーランダムキー(4);
?>
3番目の方法
//シードユーザー定義関数はシードとしてマイクロ秒を使用します
関数シード()
{
list($msec, $sec) =explode(' ', microtime());
return (float) $sec;
}
//乱数生成器のシードを播種し、srand 関数を使用してシード関数の戻り結果を呼び出します
srand(seed());
//生成された乱数を出力します。乱数の範囲は10〜100です
エコーランド(10,100);
?>
上の質問と下の質問は違いませんか? どちらも 10 から 100 までの数字をランダムに出力します。初心者にとっては、質問が単純すぎるかもしれません (笑)。
エコーランド(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= ランド();
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/477855.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/477855.html技術記事最初のメソッド?php $FileID=date(Ymd-His) . - . rand(100,999); 2 番目のメソッド?php function randomkeys($length);戻ります...