PHPを使用して非繰り返しの4桁の乱数を生成する方法

PHPz
リリース: 2023-03-21 16:42:01
オリジナル
3938 人が閲覧しました

PHP 開発では、特定の関数を実装したり、検証コードを生成したりするために、乱数を生成する必要があることがよくあります。ただし、これらのランダムに生成された数値が繰り返されると、いくつかの問題が発生する可能性があります。では、PHP で非反復の 4 桁の乱数を生成するにはどうすればよいでしょうか?実装方法は次のとおりです。

方法 1: 配列を使用する

配列を使用すると、数値を繰り返さずにランダムに生成する操作を実現できます。まず、0 ~ 9 の数値を含む配列を定義し、次に 4 つの異なる数値が生成されるまで配列からランダムに数値を選択する必要があります。

具体的な実装コードは次のとおりです。

//定义一个包含0-9的数组
$arr = array(0,1,2,3,4,5,6,7,8,9);

//随机生成4个不同的数字
$numArr = array();
while(count($numArr) < 4){
    $key = array_rand($arr);
    if(!in_array($arr[$key], $numArr)){
        $numArr[] = $arr[$key];
    }
}

//将这四个数字组成一个字符串
$code = implode('', $numArr);
ログイン後にコピー

このメソッドは、配列をループして数値をランダムに選択することにより、生成された数値が繰り返されないようにします。ただし、数値が多くなるとループ回数が増え、乱数の生成に時間がかかります。

方法 2: PHP 関数を使用する

PHP の組み込み関数を使用して、非繰り返しの乱数を生成することもできます。 PHP は、指定された範囲内の数値の配列を生成する range() 関数、配列をシャッフルする shuffle() 関数、配列から指定された数の要素をインターセプトする array_slice() 関数を提供します。これらの関数を使用して、4 桁の非反復乱数を生成できます。

具体的なコードは以下の通りです:

//生成数组0-9
$numArr = range(0, 9);

//打乱数组顺序
shuffle($numArr);

//截取前4个数字,组成4位不重复数字
$code = implode('', array_slice($numArr, 0, 4));
ログイン後にコピー

この方法はPHP付属の関数を利用するためコード量は少ないですが、数が膨大になると配列の影響が大きくなります。妨害と傍受も考慮する必要があります。

要約すると、配列を使用するか PHP 組み込み関数を使用するかに関係なく、さまざまな方法で非反復の 4 桁の乱数を生成でき、実際のニーズに応じて適切な方法を選択できます。 。

以上がPHPを使用して非繰り返しの4桁の乱数を生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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