PHP で乱数を生成する 3 つの方法を共有します。1 ~ 10 の非繰り返し乱数を生成する PHP の例を紹介します。
PHPを使用して1から10までの非反復乱数を生成するにはどうすればよいですか?
例 1、シャッフル関数を使用して乱数を生成します。
<?php $arr=range(1,10); shuffle($arr); foreach($arr as $values) { echo $values." "; } ?>
例 2、array_unique 関数を使用して乱数を生成します。
<?php $arr=array(); while(count($arr)<10) { $arr[]=rand(1,10); $arr=array_unique($arr); } echo implode(" ",$arr); ?>
例 3、array_flip 関数を使用して乱数を生成し、重複した値を削除できます。
<?php $arr=array(); $count1=0; $count = 0; $return = array(); while ($count < 10) { $return[] = mt_rand(1, 10); $return = array_flip(array_flip($return)); $count = count($return); } //www.jb51.net foreach($return as $value) { echo $value." "; } echo "<br/>"; $arr=array_values($return);// 获得数组的值 foreach($arr as $key) echo $key." "; ?>
私はASPプログラマーです。これは私の経験を共有したいと思います
<?php $ip2id= round(rand(600000, 2550000) / 10000); //第一种方法,直接生成 $ip3id= round(rand(600000, 2550000) / 10000); $ip4id= round(rand(600000, 2550000) / 10000); //下面是第二种方法,在以下数据中随机抽取 $arr_1 = array("218","218","66","66","218","218","60","60","202","204","66","66","66","59","61","60","222","221","66","59","60","60","66","218","218","62","63","64","66","66","122","211"); $randarr= mt_rand(0,count($arr_1)-1); $ip1id = $arr_1[$randarr]; echo $ip1id; echo "."; echo $ip2id; echo "."; echo $ip3id; echo "."; echo $ip4id; ?>
このプログラムの特徴は次のとおりです。生成された IP の最初のフィールドが指定された範囲内にあること、設定された IP アドレスは一般的な国内番号範囲であること、つまり、生成された IP アドレスのほとんどが国内のものであることを意味します:
<?php $arr_1 = array("http://66.249.89.99","http://66.249.89.104","http://74.125.71.105"); $randarr= mt_rand(0,count($arr_1)-1); $gip= $arr_1[$randarr]; echo $gip."$randarr"; ?>
上記では、PHP で乱数を生成する 2 つの方法のサンプル コードを紹介しています。乱数の生成に関する内容も含まれています。PHP チュートリアルに興味がある方の参考になれば幸いです。